calc24.py
来自「自个写的一个穷举法算二十四点的小程序」· Python 代码 · 共 42 行
PY
42 行
import sys,os,math
'''24-point solution finder'''
def add(a,b):
return a+b
def sub(a,b):
return a-b
def mul(a,b):
return a*b
def div(a,b):
return float(a)/float(b)
def listrm(a,c):
tempa=list(a)
tempa.remove(c)
return tempa
def clac(a,b,c,d):
alist=[]
alist.append(a)
alist.append(b)
alist.append(c)
alist.append(d)
for a in alist:
temp1=listrm(alist,a)
for b in temp1:
temp2=listrm(temp1,b)
for c in temp2:
temp3=listrm(temp2,c)
for d in temp3:
for op1 in operlist:
for op2 in operlist:
for op3 in operlist:
try:
if abs(apply(op3,[d,apply(op2,[c,apply(op1,[a,b])])]) - 24) <=0.001:
print '(',d,op3.__name__,'(',c,op2.__name__,'(',a,op1.__name__,b,')))==24'
except ZeroDivisionError:
pass;
a,b,c,d=24,1,4,7
operlist=[add,sub,mul,div]
clac(a,b,c,d)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?