二十四点游戏 python pta
时间: 2023-08-24 21:08:05 浏览: 300
二十四点游戏是一种数字游戏,目的是通过加减乘除的组合,将四个数字计算得到24。
下面是一个用 Python 实现的二十四点游戏代码,可以在 PTA 平台上运行:
```python
import itertools
def calculate(num1, num2, op):
if op == '+':
return num1 + num2
elif op == '-':
return num1 - num2
elif op == '*':
return num1 * num2
elif op == '/' and num2 != 0:
return num1 / num2
return None
def is_valid(num1, num2, num3, num4, ops):
for p in itertools.permutations([num1, num2, num3, num4]):
for op1, op2, op3 in itertools.product(ops, repeat=3):
result1 = calculate(p[0], p[1], op1)
result2 = calculate(result1, p[2], op2)
result3 = calculate(result2, p[3], op3)
if result3 == 24:
return True
return False
if __name__ == '__main__':
num1, num2, num3, num4 = map(int, input().split())
ops = ['+', '-', '*', '/']
if is_valid(num1, num2, num3, num4, ops):
print('Yes')
else:
print('No')
```
代码中使用了 itertools 模块中的 permutations 和 product 函数,用于生成数字和运算符的排列组合。is_valid 函数用于判断给定的四个数字是否可以通过加减乘除得到 24。
阅读全文