python:随机生成加法题目,输入答案进行判断【进阶:加减乘除】 - Go语言中文社区

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.除法结果可能除不尽
因此在上述代码中,对于除法运算,单独进行了判断其结果有没有小数,有小数全部默认保留三位小数。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/dddxxy/article/details/93798470
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢