编写自测小程序,程序随机生成10道加减乘除运算(运算种类随机,参与运算操作数为随机[1-10]之间的正整数),程序给出一道随机生成的题目,程序使用者来给出答案,当使用者10道题都答完之后,统一将十道题及使用者给出答案进行打印,并在每道题后面给出使用者当前题目的对错情况,如果打错还需另给出正确答案,在最后给出使用者本次测试的总得分(每题10分,总分100分)。
说明:
1、示例中蓝色部分为用户输入部分,黑色部分为程序输出部分,只是为了帮助大家区分哪部分是需要使用者输入的,程序运行时无序进行颜色设置。
2、除法结果小数点后保留两位有效数字。
3、本程序题目生成可通过随机数来完成。
代码如下:
print("欢迎使用算术自测程序,测试开始:")
import random
aa = []
bb = []
cc = []
qq = []
rr = []
s = 0
for i in range(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 == "+":
question = int(input())
result = a + b
elif c == "-":
question = int(input())
result = a - b
elif c == "/":
question = float(input())
result = a / b
else:
question = int(input())
result = a * b
aa.append(a)
bb.append(b)
cc.append(c)
rr.append(round(result,2))
qq.append(question)
print("答题完毕,您的答题结果为:")
for i in range(10):
if cc[i] == "+":
if qq[i] == rr[i]:
print("第%d题:%d + %d = %d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("√")
s += 10
else:
print("第%d题:%d + %d = %d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("×", "正确答案为", rr[i])
elif cc[i] == "-":
if qq[i] == rr[i]:
print("第%d题:%d + %d = %d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("√")
s += 10
else:
print("第%d题:%d + %d = %d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("×", "正确答案为", rr[i])
elif cc[i] == "/":
if qq[i] == rr[i]:
print("第%d题:%d + %d = %d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("√")
s += 10
else:
print("第%d题:%d + %d =%d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("×", "正确答案为", rr[i])
else:
if qq[i] == rr[i]:
print("第%d题:%d + %d =%d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("√")
s += 10
else:
print("第%d题:%d + %d =%d" %(i+1 ,aa[i],bb[i] ,int(qq[i])) ,end=" ")
print("×", "正确答案为", rr[i])
print("本次测试最终得分为%d分!" %s)