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)

代码解析:

  1. generate_question() 函数:

    • 随机生成两个0到10之间的整数 num1num2
    • 随机选择加号'+'或减号'-'作为运算符 operator
    • 使用 f-string 格式化字符串,将数字和运算符组合成完整的题目 question
    • 计算题目的答案 answer 并将其转换为字符串类型。
    • 返回题目和答案。
  2. print_questions() 函数:

    • 设置页面宽度 page_width 为70个字符,每行打印 line_length 个题目,初始行计数 line_count 为0。
    • 遍历题目列表 questions,使用 enumerate() 函数获取题目索引和内容。
    • 每当打印 line_length 个题目后,换行并重置 line_count
    • 使用 ljust() 函数将每个题目左对齐,并设置宽度为 page_width // line_length,确保每行打印10个题目。
  3. 主程序部分:

    • 创建一个空列表 questions 用于存储生成的题目。
    • 使用循环调用 generate_question() 函数 100 次,生成100道题目并添加到 questions 列表中。
    • 调用 print_questions() 函数打印所有题目。

代码亮点:

  • 使用 f-string 简化字符串格式化,使代码更易读。
  • 使用列表推导式可以进一步简化代码,例如将 questions = [] 和循环部分合并为一行代码:questions = [generate_question()[0] for _ in range(100)]
  • 可以根据需要修改代码参数,例如调整题目数量、数值范围、每行打印题目数量等,以创建个性化的练习题库。

希望这篇教程能够帮助你轻松创建10以内加减法练习题!

Python生成10以内加减法题库(可打印A4纸)

原文地址: https://www.cveoy.top/t/topic/pO9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录