📜  资质|算术能力2 |问题3(1)

📅  最后修改于: 2023-12-03 14:57:48.453000             🧑  作者: Mango

资质|算术能力2 |问题3
介绍

本程序是一个测试用户的数学算术能力的小工具,其中包含了一系列的计算题目,用户需要在规定时间内完成这些任务。程序将根据用户所能完成的题目数量和正确率来评估用户的数学算术能力水平。

功能
  • 用户可以设置计算题目的数量以及难度等级。
  • 用户可以通过填写答案来完成计算题目。
  • 程序会根据用户计算题目的数量和正确率来评估用户数学算术能力的水平。
  • 用户可以获得他们所答对的题目数量以及答错的题目数量。
代码片段
def arithmetic_ability():
    # 设置题目数量
    problem_num = int(input("请输入题目数量:"))
    # 设置难度等级
    difficulty = int(input("请输入难度等级:(1表示简单,2表示中等,3表示困难)"))
    correct_num = 0
    wrong_num = 0
    # 生成随机数
    for i in range(problem_num):
        num1 = random.randint(1, 100)
        num2 = random.randint(1, 100)
        operator = random.choice(["+", "-", "*", "/"])
        if difficulty == 1:
            while True:
                if operator == "-" and num1 < num2:
                    num1, num2 = num2, num1
                elif operator == "/" and num1 % num2 != 0:
                    num1 = random.randint(1, 100)
                    num2 = random.randint(1, 100)
                else:
                    break
        elif difficulty == 2:
            num1 = random.randint(50, 300)
            num2 = random.randint(1, 50)
        else:
            num1 = random.randint(100, 1000)
            num2 = random.randint(50, 100)
        problem = str(num1) + operator + str(num2) + "="
        try:
            answer = float(input(problem))
            if operator == "+":
                temp = num1 + num2
            elif operator == "-":
                temp = num1 - num2
            elif operator == "*":
                temp = num1 * num2
            else:
                temp = num1 / num2
            if abs(answer - temp) < 1e-4:
                correct_num += 1
            else:
                wrong_num += 1
        except ValueError:
            print("输入有误,请重新输入")
    print("\n已完成所有计算题目")
    print("正确数量:", correct_num)
    print("错误数量:", wrong_num)
    accuracy = correct_num / problem_num
    if accuracy < 0.6:
        print("你的数学算术能力相对较弱")
    elif 0.6 <= accuracy < 0.8:
        print("你的数学算术能力一般")
    else:
        print("你的数学算术能力较为强")
使用方法
  1. 运行程序,输入题目数量和难度等级,按回车键确认。
  2. 根据程序的提示,在规定的时间内完成所有的计算题目,并逐个输入答案,按回车键确认。
  3. 计算完所有题目后,程序将会统计出你做对的题目数量和做错题目的数量,以及你的数学算术能力评估结果。
注意事项
  • 在程序中输入答案时,你需要按照题目要求输入一个计算结果。注意,如果需要输入分数,请按照"分子/分母"的格式输入,例如"1/2"表示“1除以2”。
  • 在程序中输入答案时,注意小数点的输入。例如,如果你需要输入"0.5",请直接输入"0.5",而不是"0,5",也不是"5/10"。
  • 在程序运行过程中,请不要关闭程序窗口,否则你的测试结果将会丢失。