项目地址:
https://gitee.com/hezhiyong_edu/four-operations-paired-items.git
增加了错题本的功能,建立一个名为错题本的txt文件,每当答题错误时会将题目写入错题本。想要回顾错题时,打开错题本即可。
import random
import time
import datetime
random.seed(time.perf_counter())
def calculator(n, maximum):
"""随机产生n道正整数四则运算的题目,用户输入计算结果,
判断输入正确与否,并统计正确率。题目保证减法不出现负数."""
correct = 0
count = 0
max_final = 0
for i in range(n): # 循环n次,每次产生一个新问题
b = random.randint(0, maximum) # 随机产生一个maximum以内整数
a = random.randint(0, maximum) # 随机产生一个maximum以内整数
c = random.randint(0, maximum) # 随机产生一个随机数,使其具有两个运算符
max1 = max(a,b,c)
if max1 > max_final:
max_final = max1
#################Begin##############################
print(f'{a}{ope1}{b}{ope2}{c}=', end='')
result = float(input())
count = count + 1
if result == eval(f"{a}{ope1}{b}{ope2}{c}"):
correct = correct + 1
print("恭喜你,回答正确")
else:
with open("cuotiben.txt", "a") as fp:
fp.write(str(a))
fp.write(str(ope1))
fp.write(str(b))
fp.write(str(ope2))
fp.write(str(c))
fp.write(" =")
fp.write("\n")
#################End##############################
print("答对{}题,正确率为{}%,总分为{}".format(correct, correct / n * 100, correct * point))
with open("date.txt", "a") as fp:
now = datetime.datetime.now()
fp.write(str(now))
fp.write(" ")
fp.write('题目数')
fp.write(" ")
fp.write(str(n))
fp.write(" ")
fp.write('正确题目数')
fp.write(" ")
fp.write(str(correct))
fp.write(" ")
fp.write('正确率')
fp.write(" ")
fp.write(str(correct / n * 100))
fp.write(" ")
fp.write('分数')
fp.write(" ")
fp.write(str(correct * point))
fp.write("\n")
return count
if __name__ == '__main__':
num = int(input('请输入出题数量:'))
point = 100/num
m = int(input('请输入参与计算的最大数字:'))
ope1 = str(input('请输入第一个运算符号:'))
ope2 = str(input('请输入第二个运算符号:'))
calculator(num, m)
运行结果:
错题本:
代码简单,可维护性和可拓展性较好。