#学习了新知识:排列组合combinations,permutations,product之间的区别 #本题思想: #将4个数字进行排列组合,将4个加减乘除符号进行排列组合。 #将他们进行穿插起来,比如'5','-','1','*','6','/','2','+'形成了8个字符 #如果前三个字符的计算结果=24,那么输出true,break跳出循环 #如果前五个字符的计算结果=24,那么输出true,break跳出循环 #如果前七个字符的计算结果=24,那么输出true,break跳出循环 #我觉得我这个方法很棒,就是书写的时候,格式不太好看 while True: try: from itertools import combinations,permutations,product n=input().strip().split() n=[str(x) for x in n] calculate=['+','-','/','*'] result='false' for x in permutations(n,4): for y in product(*[calculate]*4): formula_list=[x[0],y[0],x[1],y[1],x[2],y[2],x[3],y[3]] formula_result=0 formula=''.join(formula_list[0:3]) formula_result=eval(formula) if formula_result==24: result='true' break else: formula=''.join((str(formula_result),y[1],x[2])) formula_result=eval(formula) if formula_result==24: result='true' break else: formula=''.join((str(formula_result),y[2],x[3])) formula_result=eval(formula) if formula_result==24: result='true' break print(result) except: break