社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
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.除法结果可能除不尽
因此在上述代码中,对于除法运算,单独进行了判断其结果有没有小数,有小数全部默认保留三位小数。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!