程序功能:随机生成100以内的加减法练习题目,并可对用户的作答结果进行判断和提示,最后统计用户回答的正确率。有了该程序,监护人再也不用一个个的为孩子出题了,小孩也可及时得到反馈。
程序运行效果如下图所示:
代码参考如下:
import random # 导入随机函数库
import time # 导入时间库
print("--" * 10, "100以内的加减法练习(输入 f 退出程序)", "--" * 10)
total_count = 0 # 统计总的练习题数
correct_count = 0 # 统计回答正确的题数
while True: # 循环练习
opt = random.choice(["+", "-"]) # 随机选择加减法
while True: # 随机生成两个数,如果不符合要求则重新生成,直到符合要求为止
num_1, num_2 = random.choices(range(1, 100), k=2)
temp = "{} {} {}".format(num_1, opt, num_2)
temp_res = eval(temp)
if 100 >= temp_res >= 0:
break
res = input(temp + " = ")
total_count = total_count + 1
try: # 捕获异常,避免用户误操作
res_num = int(res) # 获取用户输入
if eval(temp) == int(res): # 判断回答是否正确
correct_count += 1
flag = input("回答正确,按任意键继续, x 键退出")
else:
flag = input("回答错误,{} = {},按任意键继续, x 键退出".format(temp, eval(temp)))
if "x" == flag: # 判断是否退出程序
break
except Exception as e:
print("输入无效,此题作废!")
total_count = total_count - 1
print("一共做了 {} 题,答对 {} 题, 准确率:{:.1f}%".format(total_count, correct_count, correct_count/total_count * 100)) # 练习结果
time.sleep(100) # 程序停留一段时间