产生习题并用文件存储、生成100以内的加法/减法算式基、批改练习并存储
时间: 2023-12-21 12:03:23 浏览: 58
100以内的加法和减法.doc
好的,我可以为您实现这个功能。
首先,我们需要一个习题生成器。下面是一个简单的 Python 代码,可以随机生成100以内的加法/减法算式并存储到文件中:
```python
import random
def generate_question():
a = random.randint(0, 100)
b = random.randint(0, 100)
op = random.choice(['+', '-'])
if op == '+':
answer = a + b
else:
answer = a - b
return f"{a} {op} {b} =", answer
with open('questions.txt', 'w') as f:
for i in range(100):
question, answer = generate_question()
f.write(f"{i+1}. {question}\n")
```
上面的代码将生成100个算式并存储到名为`questions.txt`的文件中。每个算式都有一个序号和一个问题,格式为:`序号. 算式 =`。例如:
```
1. 22 - 7 =
2. 46 + 31 =
3. 14 - 5 =
...
```
接下来,我们需要一个批改答案的程序。下面是一个简单的 Python 代码,可以读取存储的问题及其答案,并要求用户输入答案,然后将结果存储到文件中:
```python
with open('questions.txt', 'r') as f:
lines = f.readlines()
correct = 0
with open('answers.txt', 'w') as f:
for line in lines:
question = line.strip()
print(question)
user_answer = input()
try:
user_answer = int(user_answer)
except ValueError:
user_answer = None
if user_answer is not None:
answer = int(question.split('=')[1].strip())
if user_answer == answer:
f.write(f"{question} {user_answer} (Correct)\n")
correct += 1
else:
f.write(f"{question} {user_answer} (Incorrect)\n")
else:
f.write(f"{question} {user_answer} (Invalid Input)\n")
print(f"Score: {correct}/{len(lines)}")
```
上面的代码将读取存储的问题及其答案,并要求用户输入答案。然后,它将将结果存储到名为`answers.txt`的文件中。每个答案都包括问题、用户的答案和答案是否正确的标记(Correct/Incorrect/Invalid Input)。最后,程序会输出得分,即用户正确回答的问题数量。
您可以将上述代码保存为`exercise.py`文件,然后在命令行中运行它。程序将生成100个算式并存储到`questions.txt`文件中。然后,它将要求您输入答案,并将结果存储到`answers.txt`文件中。最后,程序将输出得分。
希望这个程序对您有所帮助!
阅读全文