用python写一个代码,功能要求:随机生成两个两位数及加减号(要保证减法算式的被减数大于减数),显示题目让学生输入计算结果,判断并显示结果的正确与否(或给予累积得分)。可考虑设置答题结束条件为时间限制(如1分钟内完成)或题目总数限制(如20题),也可以是其它条件(自行设置)用到easygui库。
时间: 2023-05-12 17:06:03 浏览: 59
好的,这是一个简单的 Python 代码,可以实现你的要求:
```python
import random
import easygui
score = 0
total_questions = 20
time_limit = 60 # seconds
start_time = time.time()
for i in range(total_questions):
a = random.randint(10, 99)
b = random.randint(10, 99)
operator = random.choice(['+', '-'])
if operator == '-':
if a < b:
a, b = b, a
question = f"{a} {operator} {b} = ?"
answer = easygui.enterbox(question)
if answer is None:
break
try:
answer = int(answer)
except ValueError:
easygui.msgbox("请输入一个整数!")
continue
if operator == '+':
correct_answer = a + b
else:
correct_answer = a - b
if answer == correct_answer:
score += 1
easygui.msgbox("回答正确!")
else:
easygui.msgbox(f"回答错误!正确答案是 {correct_answer}。")
if time.time() - start_time > time_limit:
break
easygui.msgbox(f"你的得分是 {score} 分。")
```
这个代码使用了 `random` 模块来生成随机的两位数和加减号,使用了 `easygui` 库来显示题目和接收学生的输入。在每次循环中,代码会判断输入的答案是否正确,并给出相应的提示。如果时间或题目数量达到了设定的限制,代码会结束循环并显示最终得分。