给出的程序,运行时计算的答案超出了0到100的范围,能否修改一下程序,如何修改?
时间: 2024-03-24 18:38:49 浏览: 17
可以修改程序,让它生成的加减法题目的结果在0到100以内。下面是修改后的代码:
```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
if result > 100:
result = 100
else:
result = x - y
if result < 0:
result = 0
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()
```
在生成测试卷时,如果结果超出了0到100的范围,就将结果限制在0到100之间。这样,每道题目的结果都在0到100之间,就不会出现超出范围的情况了。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)