随机四则运算
类型:随机数
描述
小明在读小学,老师要求家长每天给小明出 n 个100以内整数的四则运算题目做为家庭作业。小明的爸爸是个程序员,他决定编写一个程序可以自动生成 n 道四则运算题目的试卷,试卷总分 100 分,每题分数平均分配。只要输入题目数量和随机数种子,就可以每次随机生成 [1,100] 之间的两个整数,并从序列 “+ - * /” 中随机获取一个运算符号,先输出一道题目和一个问号(形如 a + b = ? ),小明输入答案后,先输出题目和正确结果,再输出小明的答案和是否正确的判定。回答正确时,累积正确答案的得分并记录回答正确的题目的数量,全部题目回答完毕后分别输出小明答对和答错的题目数量和最终得分。
输入格式
在同一行输入两个正整数 n 和 s,分别表示题目数量和随机数种子,中间用空格分隔。后面是 n 行输入,每个输入是一个题目的计算结果
输出格式
如下示例所示,注意中文和英文逗号的不同使用。
示例
输入:
5 50
2240
2
142
28
159
输出:
64 * 35 = ?
64 * 35 = 2240,你的答案是2240,正确
82 / 32 = ?
82 / 32 = 2.5625,你的答案是2,错误
99 + 43 = ?
99 + 43 = 142,你的答案是142,正确
69 - 41 = ?
69 - 41 = 28,你的答案是28,正确
87 + 72 = ?
87 + 72 = 159,你的答案是159,正确
答对4题,答错1题,得分80.0
参考答案
from random import *
num, se = map(int, input().split())
seed(se)
right_num, score = 0, 0
step = 100/num
for i in range(num):
a, b = randint(1, 100), randint(1, 100)
op = choice('+-*/')
print('{} {} {} = ?'.format(a, op, b))
ans = eval(input())
correct = '正确' if ans == eval(str(a) + op + str(b)) else '错误'
if correct == '正确':
right_num += 1
score += step
print('{} {} {} = {},你的答案是{},{}'.format(a, op, b, eval(str(a) + op + str(b)), ans, correct))
print('答对{}题,答错{}题,得分{}'.format(right_num, num-right_num, score))

741

被折叠的 条评论
为什么被折叠?



