参考猜数字游戏案例完成程序,功能要求:随机生成两个两位数及加减号(要保证减法算式的被减数大于减数),显示题目让学生输入计算结果,判断并显示结果的正确与否(或给予累积得分)。可考虑设置答题结束条件为时间限制(如1分钟内完成)或题目总数限制(如20题),也可以是其它条件(自行设置)。
时间: 2023-05-26 11:04:54 浏览: 54
import random
# 随机生成题目并返回正确结果
def generate_question():
# 随机生成两个两位数和加减号
num1 = random.randint(10, 99)
num2 = random.randint(10, 99)
operator = random.choice(['+', '-'])
# 如果是减法,要保证被减数大于减数
if operator == '-' and num1 < num2:
num1, num2 = num2, num1
# 根据运算符计算正确结果
if operator == '+':
result = num1 + num2
elif operator == '-':
result = num1 - num2
# 返回题目和正确结果
question = f'{num1} {operator} {num2} = '
return question, result
# 主程序循环生成题目并判断回答是否正确
def main():
# 初始化得分和题目数
score = 0
count = 0
# 循环生成题目并判断回答是否正确
while True:
# 生成题目并获取正确结果
question, result = generate_question()
# 提示用户输入答案
answer = input(question)
# 判断用户输入的答案是否正确
if answer.isdigit() and int(answer) == result:
print('回答正确!')
score += 1
else:
print(f'回答错误,正确答案是{result}。')
# 累加题目数,判断是否达到限制条件
count += 1
if count == 20:
print('答题结束!')
break
# 输出得分
print(f'你的得分是{score}。')
if __name__ == '__main__':
main()