能否用Python编写一个关于50道加减法,结果在0到100以内的测试卷,并给出测试日期和记录测试结果
时间: 2024-03-24 17:38:47 浏览: 40
可以,以下是示例代码:
```python
import random
import datetime
def generate_test_paper(n):
"""
生成n道加减法,结果在0到100以内的测试卷
"""
test_paper = []
for i in range(n):
x = random.randint(0, 100)
y = random.randint(0, 100)
op = random.choice(['+', '-'])
if op == '+':
result = x + y
else:
result = x - y
test_paper.append((x, op, y, result))
return test_paper
def save_test_result(test_result):
"""
记录测试结果,包括测试日期和每道题是否正确
"""
date = datetime.date.today()
with open('test_result.txt', 'a') as f:
f.write(str(date) + '\n')
for result in test_result:
if result:
f.write('正确\n')
else:
f.write('错误\n')
f.write('\n')
def take_test():
"""
进行测试
"""
n = 50
test_paper = generate_test_paper(n)
test_result = []
for x, op, y, result in test_paper:
print('{} {} {} = '.format(x, op, y), end='')
answer = int(input())
if answer == result:
print('回答正确')
test_result.append(True)
else:
print('回答错误')
test_result.append(False)
save_test_result(test_result)
if __name__ == '__main__':
take_test()
```
运行程序后,会生成50道加减法的测试卷,每道题目的结果在0到100以内。测试完毕后,程序会将测试结果记录在文件`test_result.txt`中,包括测试日期和每道题目是否回答正确。
阅读全文