Update outerElectronFl.py
Browse files- outerElectronFl.py +98 -9
outerElectronFl.py
CHANGED
@@ -30,8 +30,97 @@ element_outer_electrons: dict[str, int] = {
|
|
30 |
# 他の元素も追加可能
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
# セッションに元素がない場合はランダムに選択
|
36 |
if "element" not in session:
|
37 |
session["element"] = random.choice(list(element_outer_electrons.keys()))
|
@@ -43,15 +132,15 @@ def quiz():
|
|
43 |
result = "正解です!"
|
44 |
else:
|
45 |
result = f"残念!正解は {correct_answer} でした。"
|
46 |
-
return render_template("
|
47 |
|
48 |
-
return render_template("
|
49 |
|
50 |
-
@app.route("/
|
51 |
-
def
|
52 |
# 次の問題をセッションに設定し、リダイレクト
|
53 |
session["element"] = random.choice(list(element_outer_electrons.keys()))
|
54 |
-
return redirect(url_for("
|
55 |
|
56 |
-
if __name__ ==
|
57 |
-
app.run(port=7860
|
|
|
30 |
# 他の元素も追加可能
|
31 |
}
|
32 |
|
33 |
+
# 首都のデータを辞書に格納する
|
34 |
+
capitals = {
|
35 |
+
'アルバニア': 'ティラナ',
|
36 |
+
'アンドラ': 'アンドラ・ラ・ベリャ',
|
37 |
+
'オーストリア': 'ウィーン',
|
38 |
+
'ベラルーシ': 'ミンスク',
|
39 |
+
'ベルギー': 'ブリュッセル',
|
40 |
+
'ボスニア・ヘルツェゴビナ': 'サライェヴォ',
|
41 |
+
'ブルガリア': 'ソフィア',
|
42 |
+
'クロアチア': 'ザグレブ',
|
43 |
+
'チェコ': 'プラハ',
|
44 |
+
'デンマーク': 'コペンハーゲン',
|
45 |
+
'エストニア': 'タリン',
|
46 |
+
'フィンランド': 'ヘルシンキ',
|
47 |
+
'フランス': 'パリ',
|
48 |
+
'ドイツ': 'ベルリン',
|
49 |
+
'ギリシャ': 'アテネ',
|
50 |
+
'ハンガリー': 'ブダペスト',
|
51 |
+
'アイスランド': 'レイキャヴィーク',
|
52 |
+
'アイルランド': 'ダブリン',
|
53 |
+
'イタリア': 'ローマ',
|
54 |
+
'ラトビア': 'リガ',
|
55 |
+
'リヒテンシュタイン': 'ファドゥーツ',
|
56 |
+
'リトアニア': 'ヴィリニュス',
|
57 |
+
'ルクセンブルク': 'ルクセンブルク',
|
58 |
+
'マルタ': 'バレッタ',
|
59 |
+
'モルドバ': 'キシナウ',
|
60 |
+
'モナコ': 'モナコ',
|
61 |
+
'モンテネグロ': 'ポドゴリツァ',
|
62 |
+
'オランダ': 'アムステルダム',
|
63 |
+
'北マケドニア': 'スコピエ',
|
64 |
+
'ノルウェー': 'オスロ',
|
65 |
+
'ポーランド': 'ワルシャワ',
|
66 |
+
'ポルトガル': 'リスボン',
|
67 |
+
'ルーマニア': 'ブカレスト',
|
68 |
+
'ロシア': 'モスクワ',
|
69 |
+
'サンマリノ': 'サンマリノ',
|
70 |
+
'セルビア': 'ベオグラード',
|
71 |
+
'スロバキア': 'ブラチスラヴァ',
|
72 |
+
'スロベニア': 'リュブリャナ',
|
73 |
+
'スペイン': 'マドリード',
|
74 |
+
'スウェーデン': 'ストックホルム',
|
75 |
+
'スイス': 'ベルン',
|
76 |
+
'ウクライナ': 'キーウ',
|
77 |
+
'イギリス': 'ロンドン',
|
78 |
+
'バチカン': 'バチカン',
|
79 |
+
'アルメニア': 'エレバン',
|
80 |
+
'アゼルバイジャン': 'バクー',
|
81 |
+
'キプロス': 'ニコシア',
|
82 |
+
'ジョージア': 'トビリシ',
|
83 |
+
'イスラエル': 'エルサレム',
|
84 |
+
'カザフスタン': 'アスタナ',
|
85 |
+
'トルコ': 'アンカラ',
|
86 |
+
"エチオピア": "アディスアベバ",
|
87 |
+
}
|
88 |
+
|
89 |
+
# ランダムな国名とその首都を取得する関数
|
90 |
+
def get_random_country():
|
91 |
+
country = random.choice(list(capitals.keys()))
|
92 |
+
return country, capitals[country]
|
93 |
+
|
94 |
+
# 初期の問題を設定する
|
95 |
+
current_country, current_capital = get_random_country()
|
96 |
+
|
97 |
+
@app.route('/')
|
98 |
+
def index():
|
99 |
+
return redirect(url_for('quiz_index'))
|
100 |
+
|
101 |
+
@app.route('/quiz_capital', methods=['GET', 'POST'])
|
102 |
+
def quiz_capital():
|
103 |
+
global current_country, current_capital
|
104 |
+
|
105 |
+
result = None
|
106 |
+
|
107 |
+
if request.method == 'POST':
|
108 |
+
user_input = request.form['user_input']
|
109 |
+
if user_input == current_capital:
|
110 |
+
result = '正解です!'
|
111 |
+
else:
|
112 |
+
result = '不正解です。正解は{}です。'.format(current_capital)
|
113 |
+
|
114 |
+
return render_template('quiz_capital.html', element=current_country, result=result)
|
115 |
+
|
116 |
+
@app.route('/next_capital', methods=['POST'])
|
117 |
+
def next_question_capital():
|
118 |
+
global current_country, current_capital
|
119 |
+
current_country, current_capital = get_random_country()
|
120 |
+
return redirect(url_for('quiz_capital'))
|
121 |
+
|
122 |
+
@app.route('/quiz_element', methods=['GET', 'POST'])
|
123 |
+
def quiz_element():
|
124 |
# セッションに元素がない場合はランダムに選択
|
125 |
if "element" not in session:
|
126 |
session["element"] = random.choice(list(element_outer_electrons.keys()))
|
|
|
132 |
result = "正解です!"
|
133 |
else:
|
134 |
result = f"残念!正解は {correct_answer} でした。"
|
135 |
+
return render_template("quiz_element.html", element=session["element"], result=result)
|
136 |
|
137 |
+
return render_template("quiz_element.html", element=session["element"], result=None)
|
138 |
|
139 |
+
@app.route("/next_element", methods=["POST"])
|
140 |
+
def next_question_element():
|
141 |
# 次の問題をセッションに設定し、リダイレクト
|
142 |
session["element"] = random.choice(list(element_outer_electrons.keys()))
|
143 |
+
return redirect(url_for("quiz_element"))
|
144 |
|
145 |
+
if __name__ == '__main__':
|
146 |
+
app.run(debug=True, port=7860)
|