Spaces:
Running
Running
from flask import Flask, render_template, request, session, redirect, url_for | |
import random | |
app = Flask(__name__) | |
app.secret_key = "your_secret_key_here" | |
# 元素と最外殻電子の数の辞書 | |
element_outer_electrons: dict[str, int] = { | |
"水素": 1, | |
"ヘリウム": 2, | |
"リチウム": 1, | |
"ベリリウム": 2, | |
"ホウ素": 3, | |
"炭素": 4, | |
"窒素": 5, | |
"酸素": 6, | |
"フッ素": 7, | |
"アルゴン": 8, | |
"クリプトン": 8, | |
"キセノン": 8, | |
"ナトリウム": 1, | |
"マグネシウム": 2, | |
"アルミニウム": 3, | |
"ケイ素": 4, | |
"リン": 5, | |
"硫黄": 6, | |
"塩素": 7, | |
"カリウム": 1, | |
"カルシウム": 2, | |
# 他の元素も追加可能 | |
} | |
def quiz(): | |
# セッションに元素がない場合はランダムに選択 | |
if "element" not in session: | |
session["element"] = random.choice(list(element_outer_electrons.keys())) | |
if request.method == "POST": | |
user_input = int(request.form["user_input"]) | |
correct_answer = element_outer_electrons[session["element"]] | |
if user_input == correct_answer: | |
result = "正解です!" | |
else: | |
result = f"残念!正解は {correct_answer} でした。" | |
return render_template("quiz.html", element=session["element"], result=result) | |
return render_template("quiz.html", element=session["element"], result=None) | |
def next_question(): | |
# 次の問題をセッションに設定し、リダイレクト | |
session["element"] = random.choice(list(element_outer_electrons.keys())) | |
return redirect(url_for("quiz")) | |
if __name__ == "__main__": | |
app.run(port=7860,host="0.0.0.0") |