python实现十以内加减乘数运算自测小程序

非常适合python初学者(掌握基础语法)的一道练手题୧꒰•̀ᴗ•́꒱୨

编写自测小程序,程序随机生成10道加减乘除运算(运算种类随机,参与运算操作数为随机[1-10]之间的正整数),程序给出一道随机生成的题目,程序使用者来给出答案,当使用者10道题都打完之后,统一将十道题及使用者给出答案进行打印,并在每道题后面给出使用者当前题目的对错情况,如果打错还需另给出正确答案,在最后给出使用者本次测试的总得分(每题10分,总分100分)。

说明:

1、示例中蓝色部分为用户输入部分,黑色部分为程序输出部分,只是为了帮助大家区分哪部分是需要使用者输入的,程序运行时无序进行颜色设置。

2、除法结果小数点后保留两位有效数字。

3、本程序题目生成可通过随机数来完成。

程序运行示例:


代码实现:

import random
x1=[]
x2=[]
x3=[]
x4=[]
x5=[]
#上面列表用来存测试的试题和你输入的结果,还有正确答案,方便后续每题答案的判断对错,即最后成绩的给出
cj=0
print("欢迎使用算术自测程序,测试开始:")
for i in range(0,10):
    a=random.randint(1,10) #随机产生指定范围内的整数
    b=random.randint(1,10)
    c=random.choice(["+","-","*","/"])
    print("第%d题;%d%s%d= "  %(i+1,a,c,b),end="")
    if c=="+":
        qes=int(input())
        res=a+b
    if c=="-":
        qes=int(input())
        res=a-b
    if c=="*":
        qes=int(input())
        res=a*b
    if c=="/":
        qes=float(input())
        res=a/b
    x1.append(a)
    x2.append(b)
    x3.append(c)
    x4.append(qes)
    x5.append(round(res, 2)) #题目要求除法保留两位小数(round不对整数处理)
print("答题完毕,您的答题结果为:")
for i in range(0,10):
    if x3[i]=="+":
        if x4[i]==x5[i]:
             print("第%d题:%d+%d=%d" %(i+1,x1[i],x2[i],x4[i]),end="")
             print(" √")
             cj+=10
        else:
             print("第%d题:%d+%d=%d" %(i + 1, x1[i], x2[i], x4[i]), end="")
             print(" x","正确答案为",x5[i])
    elif x3[i]=="-":
        if x4[i] == x5[i]:
             print("第%d题:%d-%d=%d" %(i + 1, x1[i], x2[i], x4[i]), end="")
             print(" √")
             cj+=10
        else:
             print("第%d题:%d-%d=%d" %(i + 1, x1[i], x2[i], x4[i]), end="")
             print(" x", "正确答案为",x5[i])
    elif x3[i]=="*":
        if x4[i]==x5[i]:
             print("第%d题:%d*%d=%d" %(i + 1,x1[i],x2[i],x4[i]), end="")
             print(" √")
             cj+=10
        else:
             print("第%d题:%d*%d=%d" % (i + 1, x1[i], x2[i], x4[i]), end="")
             print(" x","正确答案为",x5[i])
    elif x3[i]=="/":
        if x4[i]==x5[i]:
             print("第%d题:%d/%d=%d" %(i + 1,x1[i],x2[i],x4[i]), end="")
             print(" √")
             cj+=10
        else:
             print("第%d题:%d/%d=%d" % (i + 1, x1[i], x2[i], x4[i]), end="")
             print(" x","正确答案为",x5[i])
print("你本次测试最终得分为%d分!" %(cj))

(>▽<)最后感谢您的阅读,如果对您有帮助,不妨点个赞 ~