Python生成10以内加减法题库(可打印A4纸)
Python生成10以内加减法题库,轻松打印A4练习题
想要为孩子或者学生创建10以内加减法的练习题? 这篇教程将教你如何使用Python编写一个简单的程序,自动生成100道随机加减法题目,并将它们整齐地打印在一张A4纸上。
以下是完整的Python代码:
import random
def generate_question():
num1 = random.randint(0, 10)
num2 = random.randint(0, 10)
operator = random.choice(['+', '-'])
question = f'{num1} {operator} {num2} = '
if operator == '+':
answer = num1 + num2
else:
answer = num1 - num2
return question, str(answer)
def print_questions(questions):
page_width = 70
line_length = 10
line_count = 0
for i, question in enumerate(questions):
if i % line_length == 0:
print()
line_count = 0
print(question.ljust(page_width // line_length), end=' ')
line_count += 1
if line_count == line_length:
print()
questions = []
for _ in range(100):
question, answer = generate_question()
questions.append(question)
print_questions(questions)
代码解析:
-
generate_question()函数:- 随机生成两个0到10之间的整数
num1和num2。 - 随机选择加号'+'或减号'-'作为运算符
operator。 - 使用 f-string 格式化字符串,将数字和运算符组合成完整的题目
question。 - 计算题目的答案
answer并将其转换为字符串类型。 - 返回题目和答案。
- 随机生成两个0到10之间的整数
-
print_questions()函数:- 设置页面宽度
page_width为70个字符,每行打印line_length个题目,初始行计数line_count为0。 - 遍历题目列表
questions,使用enumerate()函数获取题目索引和内容。 - 每当打印
line_length个题目后,换行并重置line_count。 - 使用
ljust()函数将每个题目左对齐,并设置宽度为page_width // line_length,确保每行打印10个题目。
- 设置页面宽度
-
主程序部分:
- 创建一个空列表
questions用于存储生成的题目。 - 使用循环调用
generate_question()函数 100 次,生成100道题目并添加到questions列表中。 - 调用
print_questions()函数打印所有题目。
- 创建一个空列表
代码亮点:
- 使用 f-string 简化字符串格式化,使代码更易读。
- 使用列表推导式可以进一步简化代码,例如将
questions = []和循环部分合并为一行代码:questions = [generate_question()[0] for _ in range(100)]。 - 可以根据需要修改代码参数,例如调整题目数量、数值范围、每行打印题目数量等,以创建个性化的练习题库。
希望这篇教程能够帮助你轻松创建10以内加减法练习题!
原文地址: https://www.cveoy.top/t/topic/pO9 著作权归作者所有。请勿转载和采集!