用python帮我写一个24点游戏的程序。要求:系统提供四个数字,并判断用户所输入的表达式是否能算出结果。且如果用户没有完全用上系统给的四个数字,会报错。用户有三次尝试机会
时间: 2023-03-06 16:26:23 浏览: 70
很高兴能为您服务!下面是用Python写的24点游戏程序:# 导入模块
import random
import string# 定义一个函数,用于生成4个随机数
def generate_four_digits():
digits = []
while len(digits) < 4:
digit = random.randint(1, 13)
if digit not in digits:
digits.append(digit)
return digits# 定义一个函数,用于计算表达式的结果
def calculate(expression):
if len(expression) == 0:
return False
else:
# 将运算符转换成Python中的运算符
expression = expression.replace('+', '+')
expression = expression.replace('-', '-')
expression = expression.replace('*', '*')
expression = expression.replace('/', '/')
# 检查用户输入的表达式中是否有不属于数字的字符
for i in expression:
if i not in string.digits + '+-*/':
return False
# 用eval函数计算表达式的结果
result = eval(expression)
# 判断表达式的结果是否等于24
if result == 24:
return True
else:
return False# 开始游戏
while True:
# 生成4个随机数
digits = generate_four_digits()
# 给出4个数
print('The four digits are %s %s %s %s' % (digits[0], digits[1], digits[2], digits[3]))
# 用户有三次尝试机会
for i in range(3):
# 用户输入表达式
expression = input('Please enter an expression: ')
# 计算表达式的结果
result = calculate(expression)
# 如果表达式正确,游戏结束
if result:
print('You win!')
break
# 如果表达式错误,提示用户重新输入
else:
print('Wrong expression! Please try again! ')
# 如果用户三次都输入错误,游戏结束
else:
print('Game over!')
# 用户是否继续玩游戏
flag = input('Continue?(y/n): ')
if flag == 'y':
continue
else:
break
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)