构造任务2: 1、生成50道100以内加减法算式的混合习题,题中不能有相同的算式。 2、同时将加法算式与减法算式的产生模块进行分离。 3、设计好基本的测试数据集,进行测试(参见P40)。
时间: 2024-10-09 22:08:01 浏览: 124
构造任务2的描述:
1. 为了生成50道不重复的100以内加减法混合习题,你可以创建两个独立的算法模块:一个是生成加法算式,另一个是生成减法算式。每个模块都需要维护一个列表来存储已经产生的算式,避免重复。
加法模块:
```python
def generate_addition_equations():
equations = set()
while len(equations) < 50:
a = random.randint(1, 99)
b = random.randint(1, a) # 防止b大于a
equation = f"{a} + {b}"
if equation not in equations:
equations.add(equation)
return list(equations)
```
减法模块类似:
```python
def generate_subtraction_equations():
# 类似加法模块,但注意减数不能大于被减数
...
```
2. 将这两个模块封装成单独的类,例如`AdditionGenerator`和`SubtractionGenerator`,然后在主程序中分别实例化并调用它们。
3. 设计测试数据集时,可以包含一些简单的加法和减法题目,以及一些复杂度较高的题目,如接近满位的加法或被减数几乎等于减数的减法。这有助于检验程序是否能正确生成各种类型的算式。
测试数据示例:
- 简单题目:`10 + 5`, `85 - 73`
- 中等题目:`99 + 2`, `62 - 1`
- 复杂题目:`95 + 4`, `99 - 97`
阅读全文