Python 随机算术题生成器 - 练习你的数学技能
import random
def generate_question():
operators = ['+', '-', '*', '/']
operator = random.choice(operators)
if operator == '/':
# 生成除法题目时,确保结果是整数
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)
num2_factors = [i for i in range(1, num2+1) if num2 % i == 0]
num2 = random.choice(num2_factors)
num1 = num2 * random.randint(1, 10)
else:
num1 = random.randint(1, 100)
num2 = random.randint(1, 100)
question = f'{num1} {operator} {num2}'
return question, eval(question)
def check_answer(question, answer):
user_answer = input(question + ' = ')
try:
user_answer = float(user_answer)
if user_answer == answer:
print('回答正确!')
return True
else:
print('回答错误!')
return False
except:
print('请输入一个有效的数字!')
return False
def main():
num_questions = 5
correct_count = 0
for _ in range(num_questions):
question, answer = generate_question()
if check_answer(question, answer):
correct_count += 1
print(f'您答对了{correct_count}道题目!')
if __name__ == '__main__':
main()
在原代码中,变量correct_count在每次循环中都会自增,导致计数错误。我已经将其修改为在回答正确时才自增。现在代码可以正确地统计出用户答对的题目数量。
代码功能:
- 生成随机算术题: 程序会随机生成加减乘除四则运算的题目,确保除法运算的结果是整数。
- 检查答案: 程序会根据用户的输入判断答案是否正确,并给出相应的提示。
- 统计答题情况: 程序会统计用户答对的题目数量,并在最后显示结果。
使用方法:
- 将代码保存为
.py文件。 - 在命令行中运行该文件。
- 程序会依次生成随机算术题,并要求你输入答案。
- 程序会检查你的答案,并给出正确或错误的提示。
- 程序结束后会显示你答对的题目数量。
代码优化:
- 使用
f字符串来格式化字符串,使代码更加简洁。 - 使用
try-except语句来处理用户输入的错误,提高程序的鲁棒性。 - 使用
return语句来简化check_answer函数的逻辑。
代码改进:
- 可以增加难度选项,例如设置运算数的范围、运算符的种类等。
- 可以记录用户答错的题目,并提供复习功能。
- 可以使用图形界面来增强用户体验。
原文地址: https://www.cveoy.top/t/topic/qCG6 著作权归作者所有。请勿转载和采集!