自动出10道题并判分 if_auto_score.py
随机产生两个[1,10]内的整数和“+-*/”符号中的一个
输出表达式让用户输入其计算的答案
对结果进行判断,并输出判断的结果
关于随机数
import random
random.randint(1, 9)
random.random( ) 0-1之间的数,不含1
import random
op = ['+','-','*','/']
t = 0
for i in range(10):
n1 = random.randint(1,10)
n2 = random.randint(1, 10)
o = random.randint(0,3)
fr = "{}{}{}".format(n1,op[o],n2)
inp = input("{} = ".format(fr))
if round(eval(fr),2) == eval(inp):
print("正确")
t += 1
else:
print("错误")
print("正确{}道".format(t))
以加减为例。
import random
def random_generate(min, max):
# 传入最大最小值,随机生成加法或减法式,返回问题与答案。
a = random.randint(min, max)
b = random.randint(min, max)
if a > max/2:
# 加法
answer = a + b
question = "{}+{}=".format(a, b)
print(question)
num = int(input("请输入正确的的答案:"))
if int(num) != answer:
print("输入错误!",question,answer)
else:
print("输入正确!",question,answer)
else:
# 减法
while b >= a:
# 防止减出负数
b = random.randint(min, max)
answer = a - b
question = "{}-{}=".format(a, b)
print(question)
num = int(input("请输入正确的的答案:"))
if int(num) != answer:
print("输入错误!", question, answer)
else:
print("输入正确!", question, answer)
return question,answer
random_generate(1,9)