import random
import os
import sys
import re class _is:
def __init__(self,reg):
self.cr=re.compile(reg)
def __call__(self,string):
return self.cr.fullmatch(string)!=None def ecall(x):
if hasattr(x,"__call__"):
return x()
else:
return x def ifcc(cond,c1,c2):
if cond:
return ecall(c1)
else:
return ecall(c2) def iff(c,c2):
if c==None:
return c2
else:
return c ## System random state manipulator
# A redefined reseeding function seeding with a large amount of entropy
def reseed(a=None,bytec=32):
if a==None:
a=os.urandom(bytec)
random.seed(a)
# aliases
gstate=lambda:random.getstate()
sstate=lambda x:random.setstate(x)
gbits =lambda x:random.getrandbits(x)
choose=lambda x:random.choice(x) ## Mathematical
import math
import numbert as nt ##classes
class udist:
def __init__(self,l,u):
self.l=l
self.u=u
def __call__(self):
r=random.randint(self.l,self.u)
return r class rdist:
def __init__(self,l,u):
self.l=l
self.u=u
self.avail=set()
def __call__(self,l=None,u=None,avail=None):
l=iff(l,self.l)
u=iff(u,self.u)
avail=iff(avail,self.avail)
# print(l,u,avail)
r=random.randint(l,u)
while r in avail:
r=random.randint(l,u)
avail.add(r)
return r ## utilities
serialize=lambda x,sep=' ',processor=str:sep.join(map(lambda x:processor(ecall(x)),x))
sfloat=lambda prec=6:lambda x,y="%%.%df"%prec:y%x
loop=lambda x,y:[y(i) for i in range(x)]
uloop=lambda x,y:[ecall(y) for i in range(x)]
isint=_is('[0-9]+')
def choo(rndfn,cond):
q=rndfn()
while not cond(q):
q=rndfn()
return q args=list(map(lambda x:ifcc(isint(x),lambda:int(x),x),sys.argv[1:]))
compose=lambda x,y:lambda:x(ecall(y))
cr=lambda x,y:y()
cct=lambda x,y:lambda:cr(x(),y)
# Repl test
def Repl(gl,lc):
s=input()
while s!='end':
ret=eval(s,gl,lc)
print(">",ret)
s=input()

最新文章

  1. 算法-QuickSort
  2. H5 JS API 02
  3. 安卓开发第一步:Android Studio安装配置
  4. linux kernel 杂谈
  5. python中的Unittest常用方法
  6. inconsistent line count calculation in projection snapshot
  7. mysql查询中通配符的使用
  8. ARCGIS接口详细说明
  9. POJ 2250(最长公共子序列 变形)
  10. Android 动态设置TextView的drawableLeft等属性
  11. 最大矩阵(简单DP)
  12. LaTeX入门
  13. Markdown使用简介 及 学习资源整理
  14. PHP多进程实例
  15. 爬取小说 spider
  16. Eclipse *版本(图文详解)
  17. jquery插件导出word:jquery.wordexport.js
  18. 如何强制使用某一大小的包去ping某个IP地址?
  19. FastAdmin 环境变量 env 配置
  20. openvswitch dpdk

热门文章

  1. MVC中输入的保护验证用:HttpServerUtility.HtmlEncode
  2. struts2官方 中文教程 系列九:Debugging Struts
  3. hive报错:Caused by: ERROR XBM0H: Directory /var/lib/hive/metastore/metastore_db cannot be created.
  4. Vue学习(三):数据绑定语法
  5. 虚拟现实-VR-UE4-获取UE4
  6. 跳出for循环break和continue的区别
  7. String 将GBK转UTF-8
  8. 【志银】NYOJ《题目490》翻译
  9. OpenCV平滑处理示例代码
  10. gdb调试行号错位