上面的程序有问题,忘了考虑优先级的问题了=。= 改过之后多了一组答案def cal_num(cal, a, b):
if cal == 0:
return a + b
elif cal == 1:
return a - b
elif cal == 2:
return a * b
elif cal == 3:
return a / b
def get_res(num, pre_c, after_c):
if after_c > 1:
result_pre = cal_num(after_c, num, num)
result = cal_num(pre_c, num, result_pre)
return result
else:
result_pre = cal_num(pre_c, num, num)
result = cal_num(after_c, result_pre, num)
return result
def print_line(num, pre_c, after_c):
cal = ['+', '-', '*', '/']
print(num, cal[pre_c], num, cal[after_c], num)
for i in range(1,10):
for pre_c in range(0,4):
for after_c in range(0,4):
result = get_res(i, pre_c, after_c)
if result == 1:
print_line(i, pre_c, after_c)
1 + 1 - 1
1 - 1 + 1
1 * 1 * 1
1 * 1 / 1
1 / 1 * 1
1 / 1 / 1
2 - 2 / 2
|