Python | レベル別練習問題:変数 × 型(int / float / str)2

Python
スポンサーリンク

以下は、Jupyter Notebook (.ipynb) 形式で「変数 × 型(int / float / str)」全50問を一括実行&自動採点できる構成案です。
セルを分けて、学習しながら動作確認 → 採点まで行えるようにしています。


Jupyter Notebook 構成(Python 3対応)


セル1:概要・説明

"""
# 変数 × 型(int / float / str)総合練習(全50問)

- レベル別(基礎・中級・応用・型ヒント対応)
- 各問題は「解答セル」にコードを書くだけでOK
- 採点セルを実行すると自動で正誤判定

出力例:
✅ Q1: 正解!
❌ Q2: 不正解(期待値: 5, あなたの出力: 4)
"""
Python

セル2:採点用ユーティリティ

import io
import sys

def check_output(func, expected):
    """関数funcを実行して出力を取得し、expectedと比較"""
    buffer = io.StringIO()
    sys.stdout = buffer
    try:
        func()
    except Exception as e:
        return f"⚠️ エラー発生: {e}"
    finally:
        sys.stdout = sys.__stdout__
    result = buffer.getvalue().strip()
    return "✅ 正解!" if result == str(expected) else f"❌ 不正解(期待値: {expected}, 出力: {result})"

# 採点用辞書
answers = {}
Python

セル3〜:問題セル(例:Q1〜Q5)

# === Q1 ===
"""
整数型変数 x に 5 を代入し、print で出力せよ。
"""
def q1():
    # 解答ここから
    x = 5
    print(x)
    # 解答ここまで

answers[1] = check_output(q1, 5)
answers[1]
Python
# === Q2 ===
"""
float型変数 y に 3.14 を代入し、printで出力せよ。
"""
def q2():
    y = 3.14
    print(y)

answers[2] = check_output(q2, 3.14)
answers[2]
Python

…という形で Q3〜Q50 まで続きます(内容は前回提供した50問を使用)。


セル最後(自動採点まとめ)

# 全問採点結果まとめ
print("=== 採点結果 ===")
correct = sum(1 for v in answers.values() if "✅" in v)
for i in range(1, 51):
    print(f"Q{i:02d}: {answers.get(i, '未回答')}")
print(f"\n✅ 正解数: {correct}/50")
Python

🔹出力例

=== 採点結果 ===
Q01: ✅ 正解!
Q02: ✅ 正解!
Q03: ❌ 不正解(期待値: 10, 出力: 8)
...
✅ 正解数: 47/50
タイトルとURLをコピーしました