PS
我做的24点是用print打印出来的,不是用pygame写出来的,那些说不喜欢pygame的人可以闭嘴了
判断24点
1 itertools
先导入itertools:
import itertools
这个程序中主要用了两个itertools中的子函数:
itertools.permutations()和itertools.product()。
itertools.permutations()是生成数学中的全排列;
itertools.product()是生成笛卡尔积。
代码:
for nums in itertools.permutations(cards):
for ops in itertools.product('+-*/', repeat=3):
2 format生成算式
24点中算式有3种:(s代表数,z代表符号)
- ( s z s ) z ( s z s )
- ( ( s z s ) z s ) z s
- s z ( s z ( s z s ) )
可以用format写入算式:
bds1 = '({0}{4}{1}){5}({2}{6}{3})'.format(*nums,*ops)
bds2 = '(({0}{4}{1}){5}{2}){6}{3}'.format(*nums,*ops)
bds3 = '{0}{4}({1}{5}({2}{6}{3}))'.f