【Python】四則演算問題をランダムに生成する小さなプログラム

import random
# 生成随机整数
def generate_random_number():
    return random.randint(1, 100)
# 生成随机运算符
def generate_random_operator():
    operators = ['+', '-', '*', '/']
    return random.choice(operators)
# 生成随机四则运算题目
def generate_math_question():
    num1 = generate_random_number()
    num2 = generate_random_number()
    operator = generate_random_operator()

    if operator == '/':
        # 除法运算,确保结果是整数
        num1 = num1 * num2
    elif operator == '-':
        # 减法运算,确保结果不为负数
        num1, num2 = max(num1, num2), min(num1, num2)

    question = f"{num1} {operator} {num2}"
    answer = eval(question)

    return question, answer

# 生成指定数量的四则运算题目
def generate_math_questions(num_questions):
    questions = []

    for _ in range(num_questions):
        question, answer = generate_math_question()
        questions.append((question, answer))

    return questions

# 示例用法
num_questions = 5  # 题目数量
questions = generate_math_questions(num_questions)

for i, (question, answer) in enumerate(questions, start=1):
    print(f"题目 {i}: {question} = ?")
    user_answer = int(input("你的答案: "))

    if user_answer == answer:
        print("回答正确!")
    else:
        print(f"错误,正确答案是: {answer}.")

この Python コードは、ランダムな質問を含む四則演算プログラムを実装しています。次の機能が含まれています。

1. `generate_random_number()`: 1 ~ 100 の範囲のランダムな整数を生成します。
2. `generate_random_operator()`: 加算、減算、乗算、除算の 4 つの演算子から 1 つをランダムに選択します。
3. `generate_math_question()`: 2 つの乱数とランダムな演算子を含む、ランダムな四則問題を生成します。演算子の種類に応じて、除算の結果が整数になるようにしたり、減算の負の結果を回避したりするなど、乱数に対していくつかの調整が行われます。
4. `generate_math_questions(num_questions)`: 指定された数のランダムな四則演算の質問を生成し、`generate_math_question()` 関数を使用して各質問を生成し、質問と回答をリストに保存します。
5. 使用例部分: 設定された質問数に従って、ランダムな質問を生成してユーザーに 1 つずつ表示し、ユーザーの回答の入力を待ちます。ユーザーの回答と正解の比較に基づいて、対応する回答が与えられます。

質問の数 `num_questions` を指定すると、コードは対応する数のランダムな四則計算の質問を生成し、ユーザーに 1 つずつ表示します。ユーザーが答えを入力すると、プログラムは答えが正しいかどうかを判断し、プロンプトを表示します。

おすすめ

転載: blog.csdn.net/zhangawei123/article/details/130934361