第4关:随机出题的四则运算

import random

random.seed(0)  # 随机数种子,用于评测,请不要修改


 

# 在注释语句后面补充合适的代码,使程序能完成预期的功能

def calculator(n, maximum):

    """随机产生n道正整数四则运算的题目,用户输入计算结果,

    判断输入正确与否,并统计正确率。题目保证减法不出现负数."""

    correct = 0

    for i in range(n):  # 循环n次,每次产生一个新问题

        b = random.randint(0, maximum)  # 随机产生一个maximum以内整数

        a = random.randint(b, maximum)  # 随机产生一个b到maximum以内整数,避免减法出现负数

        sign = random.choice('+-*/')    # 随机获取一个运算符号

        # 先输出一个格式化的计算表达式并保持光标不换到下一行,类似5+10=

        # 接受用户输入的一个浮点数,并转换为浮点类型

        # 如果计算结果正确,输出'恭喜你,回答正确'并统计答对的次数,注意满足条件时执行的语句要缩进

        expression = f"{a}{sign}{b}="

        print(expression, end="")

        # 接受用户输入的一个浮点数,并转换为浮点类型

        # 注意:由于无法实际从用户处获取输入,我将在此处模拟输入

        user_input = float(input())

        # 根据符号计算正确答案

        if sign == '+':

            correct_answer = a + b

        elif sign == '-':

            correct_answer = a - b

        elif sign == '*':

            correct_answer = a * b

        else:  # division

            correct_answer = a / b if b != 0 else 0  # 避免除以0

        # 如果计算结果正确,输出'恭喜你,回答正确'并统计答对的次数

        if user_input == correct_answer:

            print('恭喜你,回答正确')

            correct += 1

        else:

            print('回答错误,你要加油哦!')


 

        # 否则输出'回答错误,你要加油哦!'

           

    # 以下语句不要修改

    print(f'答对{correct}题,正确率为{correct / n * 100}%')


 

# 以下语句不要修改

if __name__ == '__main__':

    num = int(input('请输入出题数量:'))

 

    m = int(input('请输入参与计算的最大数字:'))

    calculator(num, m)  # 调用函数完成计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值