标签:问题 计算 try eva product rto ace div log
问题:编写一个在1,2,…,9(顺序不能变)数字之间插入+或-或什么都不插入,使得计算结果总是100的程序,并输出所有的可能性。例如:1 + 2 + 34 – 5 + 67 – 8 + 9 = 100。
代码:
from itertools import product
NUM = ‘12345678‘ #append 9 when join
def joint(sig_str):
temp = zip(NUM, sig_str)
my_repr = ‘‘
for t in temp:
ts = t[0] + t[1]
my_repr += ts
my_repr += ‘9‘
return my_repr.replace(‘ ‘, ‘‘)
def print_when_eq100(rep):
if eval(rep) == 100:
print rep+‘=100‘
def try_and_print():
sig_iter = product(‘+- ‘, repeat=8)
for sig_str in sig_iter:
print_when_eq100(joint(sig_str))
try_and_print()
标签:问题 计算 try eva product rto ace div log
原文地址:http://www.cnblogs.com/Clisa/p/7479205.html