python:随机生成加法题目,输入答案进行判断【进阶:加减乘除】

任务要求:

1.随机生成10以内加法题目
2.学生查看题目并输入答案
3.判断学生答案是否正确
4.退出时,统计答题总数,并统计正确数量和正确率(保留两位小数)

实现代码:

   加法运算:
t = 0   #正确题目数量
c = 0   #控制循环次数
while True:
    c += 1      #答题总数
    a = ['+']   #题目类型为加法
    import random
    Fuhao = random.choice(a)
    Num1 = random.randint(0,10)  #加法运算的第一个数
    Num2 = random.randint(0,10)  #加法运算的第二个数
    print('%.d+%.d=?' %(Num1,Num2)) #加法题目
    Answer = int(input('请输入答案: '))
    Correct_Answer = Num1 + Num2
    if Answer == Correct_Answer:
        print('正确!')
        t += 1
    else:
        print('错误!')
        Choice = input('是否要退出?退出【1】继续答题【2】 ')
        if Choice == '1':
            break      #退出答题
k = (t / c * 100)
print('已经答了%d道题目' %c)
print('正确题目数量:%d' %t)
print('正确率:%.2f%%' %k)

在这里插入图片描述

结果演示:

在这里插入图片描述


进阶:自动生成加减乘除法运算

实现代码:

自动生成加减乘除运算:
t = 0   #正确题目数量
m = 0   #答题总数
while True:
    a = [ '+','-','*','/' ]
    import random
    Fuhao = random.choice(a)
    if Fuhao == '/':
        Num1 = random.randint(0, 10)
        Num2 = random.randint(1, 10)
        print('%.d%s%.d=?' % (Num1, Fuhao, Num2))
        Answer = input('请输入答案【有小数请保留小数点后三位】: ')
        Correct_Answer = float(Num1 / Num2)
    m += 1
    if Fuhao == '*':
        Num1 = random.randint(0, 10)
        Num2 = random.randint(0, 10)
        print('%.d%s%.d=?' % (Num1, Fuhao, Num2))
        Answer = float(input('请输入答案: '))
        Correct_Answer = Num1 * Num2
    if Fuhao == '+':
        Num1 = random.randint(0, 10)
        Num2 = random.randint(0, 10)
        print('%.d%s%.d=?' % (Num1, Fuhao, Num2))
        Answer = float(input('请输入答案: '))
        Correct_Answer = Num1 + Num2
    if Fuhao == '-':
        Num1 = random.randint(0, 10)
        Num2 = random.randint(0, 10)
        print('%.d%s%.d=?' % (Num1, Fuhao, Num2))
        Answer = float(input('请输入答案: '))
        Correct_Answer = Num1 - Num2
    if Fuhao == '/':
        if Correct_Answer % 1 != 0:
            Correct_Answer = ('%.3f' %Correct_Answer)
    if Answer == Correct_Answer:
        print('正确!')
        t += 1
    else:
        print('错误!')
        Choice = input('是否要退出?退出【1】继续答题【2】 ')
        if Choice == '1':
            break      #退出答题
k = (t / m * 100)   #正确率
print('已经答了%d道题目' %m)
print('正确题目数量:%d道' %t)
print('正确率为%.2f%%' %k)

结果演示:

在这里插入图片描述

说明:

虽然加减乘除只是在加法的基础上进阶,但是有以下内容需要注意:
1.加减乘除四种符号生成后要如何实现对应的加法,减法,乘法,除法。
2.除法除数不能为0
3.除法中结果可能为小数
4.除法结果可能除不尽
因此在上述代码中,对于除法运算,单独进行了判断其结果有没有小数,有小数全部默认保留三位小数。

  • 10
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值