OzoneAsai commited on
Commit
e2daa05
1 Parent(s): 52096ed

Update outerElectronFl.py

Browse files
Files changed (1) hide show
  1. outerElectronFl.py +10 -153
outerElectronFl.py CHANGED
@@ -4,94 +4,7 @@ import random
4
  app = Flask(__name__)
5
  app.secret_key = "your_secret_key_here"
6
 
7
- element_atomic_numbers = {
8
- 1: ['H', '水素 (Hydrogen)'],
9
- 2: ['He', 'ヘリウム (Helium)'],
10
- 3: ['Li', 'リチウム (Lithium)'],
11
- 4: ['Be', 'ベリリウム (Beryllium)'],
12
- 5: ['B', 'ホウ素 (Boron)'],
13
- 6: ['C', '炭素 (Carbon)'],
14
- 7: ['N', '窒素 (Nitrogen)'],
15
- 8: ['O', '酸素 (Oxygen)'],
16
- 9: ['F', 'フッ素 (Fluorine)'],
17
- 10: ['Na', 'ナトリウム (Sodium)'],
18
- 11: ['Al', 'アルミニウム (Aluminium)'],
19
- 12: ['Si', 'ケイ素 (Silicon)'],
20
- 13: ['P', 'リン (Phosphorus)'],
21
- 14: ['S', '硫黄 (Sulfur)'],
22
- 15: ['Cl', '塩素 (Chlorine)'],
23
- 16: ['K', 'カリウム (Potassium)'],
24
- 17: ['Ti', 'チタン (Titanium)'],
25
- 18: ['Cr', 'クロム (Chromium)'],
26
- 19: ['Mn', 'マンガン (Manganese)'],
27
- 20: ['Fe', '鉄 (Iron)'],
28
- 21: ['Cu', '銅 (Copper)'],
29
- 22: ['Zn', '亜鉛 (Zinc)'],
30
- 23: ['As', 'ヒ素 (Arsenic)'],
31
- 24: ['Se', 'セレン (Selenium)'],
32
- 25: ['Br', '臭素 (Bromine)'],
33
- 26: ['Nb', 'ニオブ (Niobium)'],
34
- 27: ['Mo', 'モリブデン (Molybdenum)'],
35
- 28: ['Ag', '銀 (Silver)'],
36
- 29: ['Sn', 'スズ (Tin)'],
37
- 30: ['Sb', 'アンチモン (Antimony)']
38
- }
39
-
40
- # 首都のデータを辞書に格納する
41
- capitals = {
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
- 'イスラエル': 'エルサレム',
91
- 'カザフスタン': 'アスタナ',
92
- 'トルコ': 'アンカラ',
93
- "エチオピア": "アディスアベバ",
94
- }
95
  element_outer_electrons: dict[str, int] = {
96
  "水素": 1,
97
  "ヘリウム": 2,
@@ -117,41 +30,8 @@ element_outer_electrons: dict[str, int] = {
117
  # 他の元素も追加可能
118
  }
119
 
120
- # ランダムな国名とその首都を取得する関数
121
- def get_random_country():
122
- country = random.choice(list(capitals.keys()))
123
- return country, capitals[country]
124
-
125
- # 初期の問題を設定する
126
- current_country, current_capital = get_random_country()
127
-
128
- @app.route('/')
129
- def index():
130
- return render_template('quiz_index')
131
-
132
- @app.route('/quiz_capital', methods=['GET', 'POST'])
133
- def quiz_capital():
134
- global current_country, current_capital
135
-
136
- result = None
137
-
138
- if request.method == 'POST':
139
- user_input = request.form['user_input']
140
- if user_input == current_capital:
141
- result = '正解です!'
142
- else:
143
- result = '不正解です。正解は{}です。'.format(current_capital)
144
-
145
- return render_template('quiz_capital.html', element=current_country, result=result)
146
-
147
- @app.route('/next_capital', methods=['POST'])
148
- def next_question_capital():
149
- global current_country, current_capital
150
- current_country, current_capital = get_random_country()
151
- return redirect(url_for('quiz_capital'))
152
-
153
- @app.route('/quiz_element', methods=['GET', 'POST'])
154
- def quiz_element():
155
  # セッションに元素がない場合はランダムに選択
156
  if "element" not in session:
157
  session["element"] = random.choice(list(element_outer_electrons.keys()))
@@ -163,38 +43,15 @@ def quiz_element():
163
  result = "正解です!"
164
  else:
165
  result = f"残念!正解は {correct_answer} でした。"
166
- return render_template("quiz_element.html", element=session["element"], result=result)
167
 
168
- return render_template("quiz_element.html", element=session["element"], result=None)
169
 
170
- @app.route("/next_element", methods=["POST"])
171
- def next_question_element():
172
  # 次の問題をセッションに設定し、リダイレクト
173
  session["element"] = random.choice(list(element_outer_electrons.keys()))
174
- return redirect(url_for("quiz_element"))
175
-
176
- @app.route('/quiz_element2num', methods=['GET', 'POST'])
177
- def quiz_element2num():
178
- # セッションに元素がない場合はランダムに選択
179
- if "element" not in session:
180
- session["element"] = random.choice(list(element_atomic_numbers.values()))[1]
181
-
182
- if request.method == "POST":
183
- user_input = int(request.form["user_input"])
184
- correct_answer = [key for key, value in element_atomic_numbers.items() if value[1] == session["element"]][0]
185
- if user_input == correct_answer:
186
- result = "正解です!"
187
- else:
188
- result = f"残念!正解は {correct_answer} でした。"
189
- return render_template("quiz_element2num.html", element=session["element"], result=result)
190
-
191
- return render_template("quiz_element2num.html", element=session["element"], result=None)
192
-
193
- @app.route("/next_element2num", methods=["POST"])
194
- def next_question_element2num():
195
- # 次の問題をセッションに設定し、リダイレクト
196
- session["element"] = random.choice(list(element_atomic_numbers.values()))[1]
197
- return redirect(url_for("quiz_element2num"))
198
 
199
- if __name__ == '__main__':
200
- app.run(debug=True, port=7860)
 
4
  app = Flask(__name__)
5
  app.secret_key = "your_secret_key_here"
6
 
7
+ # 元素と最外殻電子の数の辞書
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  element_outer_electrons: dict[str, int] = {
9
  "水素": 1,
10
  "ヘリウム": 2,
 
30
  # 他の元素も追加可能
31
  }
32
 
33
+ @app.route("/", methods=["GET", "POST"])
34
+ def quiz():
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  # セッションに元素がない場合はランダムに選択
36
  if "element" not in session:
37
  session["element"] = random.choice(list(element_outer_electrons.keys()))
 
43
  result = "正解です!"
44
  else:
45
  result = f"残念!正解は {correct_answer} でした。"
46
+ return render_template("quiz.html", element=session["element"], result=result)
47
 
48
+ return render_template("quiz.html", element=session["element"], result=None)
49
 
50
+ @app.route("/next", methods=["POST"])
51
+ def next_question():
52
  # 次の問題をセッションに設定し、リダイレクト
53
  session["element"] = random.choice(list(element_outer_electrons.keys()))
54
+ return redirect(url_for("quiz"))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
+ if __name__ == "__main__":
57
+ app.run(port=7860,host="0.0.0.0")