24点小游戏python
时间: 2023-07-05 15:33:45 浏览: 122
24点游戏(Python)
以下是一个简单的 24 点小游戏的 Python 代码示例:
```python
import itertools
def compute24(nums):
"""
判断给定的四个数能否通过加减乘除得到 24
"""
for a, b, c, d in itertools.permutations(nums):
for op1, op2, op3 in itertools.product(['+', '-', '*', '/'], repeat=3):
# 构造表达式
exp = f"(({a}{op1}{b}){op2}{c}){op3}{d}"
try:
# 使用 eval 函数计算表达式的值
if abs(eval(exp) - 24) < 1e-9:
return exp
except ZeroDivisionError:
pass
return None
print("24点小游戏开始!")
while True:
nums = input("请输入四个数字(以空格分隔):").split()
if len(nums) != 4 or not all(map(lambda x: x.isdigit(), nums)):
print("输入无效,请重新输入!")
continue
nums = list(map(int, nums))
exp = compute24(nums)
if exp:
print(f"恭喜,您构造的表达式为:{exp}")
else:
print("很遗憾,这四个数无法通过加减乘除得到 24。")
ans = input("是否继续?(Y/N):").strip().lower()
if ans != 'y':
break
print("游戏结束!")
```
使用方法:运行代码后,按照提示输入四个数字,程序会自动计算并输出一个能够通过加减乘除得到 24 的表达式。如果无法得到 24,则会提示“很遗憾,这四个数无法通过加减乘除得到 24。”,并询问是否继续游戏。如果输入的不是四个数字,则会提示“输入无效,请重新输入!”。按下回车键即可开始新一轮游戏,输入 n 终止游戏。
阅读全文