以下は、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
