-
题目描述:
给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利
-
输入描述:
输入4个int整数(数字允许重复,但每个数字仅允许使用一次,无异常数字)
-
输出描述:
返回能否得到24点,能输出true,不能输出false
-
示例1、
输入:
7 2 1 10
输出:
true
当第一次读到题目后自己的解法如下:
import itertools
while True:
try:
nums, flag = input().split(), False
for i in itertools.product('+-*/', repeat=3):
if round(eval(nums[0] + i[0] + nums[1] + i[1] + nums[2] + i[2] + nums[3])) == 24:
flag = True
break
if flag:
print('true')
else:
print('false')
except:
break
分析,此种解法只考虑到不存在括号且数据顺序不变的情况,考虑的情况太过简单&