OzoneAsai commited on
Commit
c2e9464
1 Parent(s): 272fa53

Update outerElectronFl.py

Browse files
Files changed (1) hide show
  1. outerElectronFl.py +15 -284
outerElectronFl.py CHANGED
@@ -1,306 +1,37 @@
1
- from flask import Flask, render_template, request, redirect, url_for
2
- import random
3
 
4
  app = Flask(__name__)
 
5
 
6
- # 首都のデータを辞書に格納する
7
- capitals = {
8
- 'MgCl2': '塩化マグネシウム',
9
- 'MgO': '酸化マグネシウム',
10
- 'MgF2': 'フッ化マグネシウム',
11
- 'MgS': '硫化マグネシウム',
12
- 'Mg(OH)2': '水酸化マグネシウム',
13
- 'MgI2': 'ヨウ化マグネシウム',
14
- 'CaCl2': '塩化カルシウム',
15
- 'CaO': '酸化カルシウム',
16
- 'CaF2': 'フッ化カルシウム',
17
- 'CaS': '硫化カルシウム',
18
- 'Ca(OH)2': '水酸化カルシウム',
19
- 'CaI2': 'ヨウ化カルシウム',
20
- 'ZnCl2': '塩化亜鉛',
21
- 'ZnO': '酸化亜鉛',
22
- 'ZnF2': 'フッ化亜鉛',
23
- 'ZnS': '硫化亜鉛',
24
- 'Zn(OH)2': '水酸化亜鉛',
25
- 'ZnI2': 'ヨウ化亜鉛',
26
- 'NaCl': '塩化ナトリウム',
27
- 'Na2O': '酸化ナトリウム',
28
- 'NaF': 'フッ化ナトリウム',
29
- 'Na2S': '硫化ナトリウム',
30
- 'NaOH': '水酸化ナトリウム',
31
- 'NaI': 'ヨウ化ナトリウム',
32
- 'KCl': '塩化カリウム',
33
- 'K2O': '酸化カリウム',
34
- 'KF': 'フッ化カリウム',
35
- 'K2S': '硫化カリウム',
36
- 'KOH': '水酸化カリウム',
37
- 'KI': 'ヨウ化カリウム',
38
- 'HCl': '塩酸',
39
- 'H2O': '水',
40
- 'HF': 'フッ化水素',
41
- 'H2S': '硫化水素',
42
- 'HOH': '水(H2Oでない)', # HOHも水のもう一つの表記
43
- 'HI': 'ヨウ化水素',
44
- 'CuCl': '塩化銅(I)',
45
- 'Cu2O': '酸化銅(I)',
46
- 'CuF': 'フッ化銅(I)',
47
- 'Cu2S': '硫化銅(I)',
48
- 'CuOH': '水酸化銅(I)',
49
- 'CuI': 'ヨウ化銅(I)',
50
- 'CuCl2': '塩化銅(II)',
51
- 'CuO': '酸化銅(II)',
52
- 'CuF2': 'フッ化銅(II)',
53
- 'CuS': '硫化銅(II)',
54
- 'Cu(OH)2': '水酸化銅(II)',
55
- 'CuI2': 'ヨウ化銅(II)',
56
- 'AgCl': '塩化銀',
57
- 'Ag2O': '酸化銀',
58
- 'AgF': 'フッ化銀',
59
- 'Ag2S': '硫化銀',
60
- 'AgOH': '水酸化銀',
61
- 'AgI': 'ヨウ化銀',
62
- 'BaCl2': '塩化バリウム',
63
- 'BaO': '酸化バリウム',
64
- 'BaF2': 'フッ化バリウム',
65
- 'BaS': '硫化バリウム',
66
- 'Ba(OH)2': '水酸化バリウム',
67
- 'BaI2': 'ヨウ化バリウム',
68
- 'FeCl2': '塩化鉄(II)',
69
- 'FeO': '酸化鉄(II)',
70
- 'FeF2': 'フッ化鉄(II)',
71
- 'FeS': '硫化鉄(II)',
72
- 'Fe(OH)2': '水酸化鉄(II)',
73
- 'FeI2': 'ヨウ化鉄(II)',
74
- 'MnCl2': '塩化マンガン(II)',
75
- 'MnO': '酸化マンガン(II)',
76
- 'MnF2': 'フッ化マンガン(II)',
77
- 'MnS': '硫化マンガン(II)',
78
- 'Mn(OH)2': '水酸化マンガン(II)',
79
- 'MnI2': 'ヨウ化マンガン(II)',
80
- 'PbCl2': '塩化鉛(II)',
81
- 'PbO': '酸化鉛(II)',
82
- 'PbF2': 'フッ化鉛(II)',
83
- 'PbS': '硫化鉛(II)',
84
- 'Pb(OH)2': '水酸化鉛(II)',
85
- 'PbI2': 'ヨウ化鉛(II)',
86
- 'AlCl3': '塩化アルミニウム',
87
- 'Al2O3': '酸化アルミニウム',
88
- 'AlF3': 'フッ化アルミニウム',
89
- 'Al2S3': '硫化アルミニウム',
90
- 'Al(OH)3': '水酸化アルミニウム',
91
- 'AlI3': 'ヨウ化アルミニウム',
92
- 'FeCl3':"塩化鉄(III)", 'Fe2O3':"酸化鉄(III)", 'FeF3':"フッ化鉄(III)", 'Fe2S3': "硫化鉄", 'Fe(OH)3':"水酸化鉄(III)", 'FeI3':"ヨウ化鉄(III)",
93
- 'NH4Cl':"塩化アンモニウム", '(NH4)2O':"酸化アンモニウム", 'NH4F':"フッ化アンモニウム", '(NH4)2S':"硫化アンモニウム", 'NH4OH':"水酸化アンモニウム", 'NH4I':"ヨウ化アンモニウム",
94
- 'MgSO4': '硫酸マグネシウム',
95
- 'MgS': '硫化マグネシウム',
96
- 'MgCO3': '炭酸マグネシウム',
97
- 'MgC2O4': 'シュウ酸マグネシウム',
98
- 'MgCrO4': 'クロム酸マグネシウム',
99
- 'MgCr2O7': '二クロム酸マグネシウム',
100
- 'MgS2O3': 'チオ硫酸マグネシウム',
101
- 'Mg3(PO4)2': 'リン酸マグネシウム',
102
- 'CaSO4': '硫酸カルシウム',
103
- 'CaS': '硫化カルシウム',
104
- 'CaCO3': '炭酸カルシウム',
105
- 'CaC2O4': 'シュウ酸カルシウム',
106
- 'CaCrO4': 'クロム酸カルシウム',
107
- 'CaCr2O7': '二クロム酸カルシウム',
108
- 'CaS2O3': 'チオ硫酸カルシウム',
109
- 'Ca3(PO4)2': 'リン酸カルシウム',
110
- 'ZnSO4': '硫酸亜鉛',
111
- 'ZnS': '硫化亜鉛',
112
- 'ZnCO3': '炭酸亜鉛',
113
- 'ZnC2O4': 'シュウ酸亜鉛',
114
- 'ZnCrO4': 'クロム酸亜鉛',
115
- 'ZnCr2O': '二クロム酸亜鉛',
116
- 'ZnS2O3': 'チオ硫酸亜鉛',
117
- 'Zn3(PO4)2': 'リン酸亜鉛',
118
- 'Na2SO4': '硫酸ナトリウム',
119
- 'Na2S': '硫化ナトリウム',
120
- 'Na2CO3': '炭酸ナトリウム',
121
- 'Na2C2O4': 'シュウ酸ナトリウム',
122
- 'Na2CrO4': 'クロム酸ナトリウム',
123
- 'Na2Cr2O7': '二クロム酸ナトリウム',
124
- 'Na2S2O3': 'チオ硫酸ナトリウム',
125
- 'Na3PO4': 'リン酸ナトリウム',
126
- 'K2SO4': '硫酸カリウム',
127
- 'K2S': '硫化カリウム',
128
- 'K2CO3': '炭酸カリウム',
129
- 'K2C2O4': 'シュウ酸カリウム',
130
- 'K2CrO4': 'クロム酸カリウム',
131
- 'K2Cr2O7': '二クロム酸カリウム',
132
- 'K2S2O3': 'チオ硫酸カリウム',
133
- 'K3PO4': 'リン酸カリウム',
134
- 'H2SO4': '硫酸',
135
- 'H2S': '硫化水素',
136
- 'H2CO3': '炭酸',
137
- 'H2C2O4': 'オキサル酸',
138
- 'H2CrO4': 'クロム酸',
139
- 'H2Cr2O7': '二クロム酸',
140
- 'H2S2O3': 'チオ硫酸',
141
- 'H3PO4': 'リン酸',
142
- 'Cu2SO4': '硫酸銅(I)',
143
- 'Cu2S': '硫化銅(I)',
144
- 'Cu2CO3': '炭酸銅(I)',
145
- 'Cu2C2O4': 'シュウ酸銅(I)',
146
- 'Cu2CrO4': 'クロム酸銅(I)',
147
- 'Cu2Cr2O7': '二クロム酸銅(I)',
148
- 'Cu2S2O3': 'チオ硫酸銅(I)',
149
- 'Cu3PO4': 'リン酸銅(I)',
150
- 'CuSO4': '硫酸銅(II)',
151
- 'CuS': '硫化銅(II)',
152
- 'CuCO3': '炭酸銅(II)',
153
- 'CuC2O4': 'シュウ酸銅(II)',
154
- 'CuCrO4': 'クロム酸銅(II)',
155
- 'CuCr2O7': '二クロム酸銅(II)',
156
- 'CuS2O3': 'チオ硫酸銅(II)',
157
- 'Cu3(PO4)2': 'リン酸銅(II)',
158
- 'Ag2SO4': '硫酸銀',
159
- 'Ag2S': '硫化銀',
160
- 'Ag2CO3': '炭酸銀',
161
- 'Ag2C2O4': 'シュウ酸銀',
162
- 'Ag2CrO4': 'クロム酸銀',
163
- 'Ag2Cr2O7': '二クロム酸銀',
164
- 'Ag2S2O3': 'チオ硫酸銀',
165
- 'Ag3PO4': 'リン酸銀',
166
- 'BaSO4': '硫酸バリウム',
167
- 'BaS': '硫化バリウム',
168
- 'BaCO3': '炭酸バリウム',
169
- 'BaC2O4': 'シュウ酸バリウム',
170
- 'BaCrO4': 'クロム酸バリウム',
171
- 'BaCr2O7': '二クロム酸バリウム',
172
- 'BaS2O3': 'チオ硫酸バリウム',
173
- 'Ba3(PO4)2': 'リン酸バリウム',
174
- 'FeSO4': '硫酸鉄(II)',
175
- 'FeS': '硫化鉄(II)',
176
- 'FeCO3': '炭酸鉄(II)',
177
- 'FeC2O4': 'シュウ酸鉄(II)',
178
- 'FeCrO4': 'クロム酸鉄(II)',
179
- 'FeCr2O7': '二クロム酸鉄(II)',
180
- 'FeS2O3': 'チオ硫酸鉄(II)',
181
- 'Fe3(PO4)2': 'リン酸鉄(II)',
182
- 'MnSO4': '硫酸マンガン(II)',
183
- 'MnS': '硫化マンガン(II)',
184
- 'MnCO3': '炭酸マンガン(II)',
185
- 'MnC2O4': 'シュウ酸マンガン(II)',
186
- 'MnCrO4': 'クロム酸マンガン(II)',
187
- 'MnCr2O)': '二クロム酸マンガン(II)',
188
- 'MnS2O3': 'チオ硫酸マンガン(II)',
189
- 'Mn3(PO4)2': 'リン酸マンガン(II)',
190
- 'Mn2SO4': '硫酸マンガン(III)',
191
- 'Mn2S': '硫化マンガン(III)',
192
- 'Mn2CO3': '炭酸マンガン(III)',
193
- 'Mn2C2O4': 'シュウ酸マンガン(III)',
194
- 'Mn2CrO4': 'クロム酸マンガン(III)',
195
- 'Mn2Cr2O7': '二クロム酸マンガン(III)',
196
- 'Mn2S2O3': 'チオ硫酸マンガン(III)',
197
- 'Mn3PO4': 'リン酸マンガン(III)',
198
- 'PbSO4': '硫酸鉛(II)',
199
- 'PbS': '硫化鉛(II)',
200
- 'PbCO3': '炭酸鉛(II)',
201
- 'PbC2O4': 'シュウ酸鉛(II)',
202
- 'PbCrO4': 'クロム酸鉛(II)',
203
- 'PbCr2O7': '二クロム酸鉛(II)',
204
- 'PbS2O3': 'チオ硫酸鉛(II)',
205
- 'Pb3(PO4)2': 'リン酸鉛(II)',
206
- 'Al2(SO4)3': '硫酸アルミニウム',
207
- 'Al2S3': '硫化アルミニウム',
208
- 'Al2(CO3)3': '炭酸アルミニウム',
209
- 'Al2(C2O4)3': 'シュウ酸アルミニウム',
210
- 'Al2(CrO4)3': 'クロム酸アルミニウム',
211
- 'Al2(Cr2O7)3': '二クロム酸アルミニウム',
212
- 'Al2(S2O3)3': 'チオ硫酸アルミニウム',
213
- 'AlPO4': 'リン酸アルミニウム',
214
- 'Fe2(SO4)3': '硫酸鉄(III)',
215
- 'Fe2S3': '硫化鉄(III)',
216
- 'Fe2(CO3)3': '炭酸鉄(III)',
217
- 'Fe2(C2O4)3': 'シュウ酸鉄(III)',
218
- 'Fe2(CrO4)3': 'クロム酸鉄(III)',
219
- 'Fe2(Cr2O7)3': '二クロム酸鉄(III)',
220
- 'Fe2(S2O3)3': 'チオ硫酸鉄(III)',
221
- 'FePO4': 'リン酸鉄(III)',
222
- 'Mg(NO3)2': '硝酸マグネシウム',
223
- 'Mg(CH3COO)2': '酢酸マグネシウム',
224
- 'Mg(MnO4)2': '過マンガン酸マグネシウム',
225
- 'Ca(NO3)2': '硝酸カルシウム',
226
- 'Ca(CH3COO)2': '酢酸カルシウム',
227
- 'Ca(MnO4)2': '過マンガン酸カルシウム',
228
- 'Zn(NO3)2': '硝酸亜鉛',
229
- 'Zn(CH3COO)2': '酢酸亜鉛',
230
- 'Zn(MnO4)2': '過マンガン酸亜鉛',
231
- 'NaNO3': '硝酸ナトリウム',
232
- 'Na(CH3COO)': '酢酸ナトリウム',
233
- 'Na(MnO4)': '過マンガン酸ナトリウム',
234
- 'KNO3': '硝酸カリウム',
235
- 'K(CH3COO)': '酢酸カリウム',
236
- 'K(MnO4)': '過マンガン酸カリウム',
237
- 'HNO3': '硝酸',
238
- 'HCH3COO': '酢酸',
239
- 'HMnO4': '過マンガン酸',
240
- 'CuNO3': '硝酸銅(I)',
241
- 'CuCH3COO': '酢酸銅(I)',
242
- 'CuMnO4': '過マンガン酸銅(I)',
243
- 'Cu(NO3)2': '硝酸銅(II)',
244
- 'Cu(CH3COO)2': '酢酸銅(II)',
245
- 'Cu(MnO4)2': '過マンガン酸銅(II)',
246
- 'AgNO3': '硝酸銀',
247
- 'AgCH3COO': '酢酸銀',
248
- 'AgMnO4': '過マンガン酸銀',
249
- 'Ba(NO3)2': '硝酸バリウム',
250
- 'Ba(CH3COO)2': '酢酸バリウム',
251
- 'Ba(MnO4)2': '過マンガン酸バリウム',
252
- 'Fe(NO3)2': '硝酸鉄(II)',
253
- 'Fe(CH3COO)2': '酢酸鉄(II)',
254
- 'Fe(MnO4)2': '過マンガン酸鉄(II)',
255
- 'Mn(NO3)2': '硝酸マンガン(II)',
256
- 'Mn(CH3COO)2': '酢酸マンガン(II)',
257
- 'MnNO3': '硝酸マンガン(I)',
258
- 'MnCH3COO': '酢酸マンガン(I)',
259
- 'Pb(NO3)2': '硝酸鉛(II)',
260
- 'Pb(CH3COO)2': '酢酸鉛(II)',
261
- 'Pb(MnO4)2': '過マンガン酸鉛(II)',
262
- 'Al(NO3)3': '硝酸アルミニウム',
263
- 'Al(CH3COO)3': '酢酸アルミニウム',
264
- 'Al(MnO4)3': '過マンガン酸アルミニウム',
265
- 'Fe(NO3)3': '硝酸鉄(III)',
266
- 'Fe(CH3COO)3': '酢酸鉄(III)',
267
- 'Fe(MnO4)3': '過マンガン酸鉄(III)',
268
- "HMnO4":"過マンガン酸"
269
- }
270
 
271
-
272
 
273
- # ランダムな国名とその首都を取得する関数
274
  def get_random_country():
275
  country = random.choice(list(capitals.keys()))
276
- return capitals[country],country
277
-
278
- # 初期の問題を設定する
279
- current_化合物, current_化合物名 = get_random_country()
280
- currentEl=current_化合物
281
 
282
  @app.route('/', methods=['GET', 'POST'])
283
  def quiz():
284
- global current_化合物, current_化合物名,currentEl
 
285
 
286
  result = None
287
-
288
  if request.method == 'POST':
289
  user_input = request.form['user_input']
290
- currentEl=request.form["element"]
291
- if user_input == currentEl:
292
  result = '正解です!'
293
  else:
294
- result = '不正解です。正解は{}です。'.format(currentEl)
295
 
296
- return render_template('quiz.html', element=current_化合物, result=result)
297
 
298
  @app.route('/next', methods=['POST'])
299
  def next_question():
300
- global current_化合物, current_化合物名,currentEl
301
-
302
- current_化合物, current_化合物名 = get_random_country()
303
- currentEl=current_化合物
304
  return redirect(url_for('quiz'))
 
305
  if __name__ == '__main__':
306
- app.run(debug=True, port=7860, host="0.0.0.0")
 
1
+ from flask import Flask, render_template, request, redirect, url_for, session
2
+ import random
3
 
4
  app = Flask(__name__)
5
+ app.secret_key = 'your_secret_key_here' # セッションの安全な署名に必要なキー
6
 
7
+ capitals = { 'MgCl2': '塩化マグネシウム', 'MgO': '酸化マグネシウム', 'MgF2': 'フッ化マグネシウム', 'MgS': '硫化マグネシウム', 'Mg(OH)2': '水酸化マグネシウム', 'MgI2': 'ヨウ化マグネシウム', 'CaCl2': '塩化カルシウム', 'CaO': '酸化カルシウム', 'CaF2': 'フッ化カルシウム', 'CaS': '硫化カルシウム', 'Ca(OH)2': '水酸化カルシウム', 'CaI2': 'ヨウ化カルシウム', 'ZnCl2': '塩化亜鉛', 'ZnO': '酸化亜鉛', 'ZnF2': 'フッ化亜鉛', 'ZnS': '硫化亜鉛', 'Zn(OH)2': '水酸化亜鉛', 'ZnI2': 'ヨウ化亜鉛', 'NaCl': '塩化ナトリウム', 'Na2O': '酸化ナトリウム', 'NaF': 'フッ化ナトリウム', 'Na2S': '硫化ナトリウム', 'NaOH': '水酸化ナトリウム', 'NaI': 'ヨウ化ナトリウム', 'KCl': '塩化カリウム', 'K2O': '酸化カリウム', 'KF': 'フッ化カリウム', 'K2S': '硫化カリウム', 'KOH': '水酸化カリウム', 'KI': 'ヨウ化カリウム', 'HCl': '塩酸', 'H2O': '水', 'HF': 'フッ化水素', 'H2S': '硫化水素', 'HOH': '水(H2Oでない)','HI': 'ヨウ化水素', 'CuCl': '塩化銅(I)', 'Cu2O': '酸化銅(I)', 'CuF': 'フッ化銅(I)', 'Cu2S': '硫化銅(I)', 'CuOH': '水酸化銅(I)', 'CuI': 'ヨウ化銅(I)', 'CuCl2': '塩化銅(II)', 'CuO': '酸化銅(II)', 'CuF2': 'フッ化銅(II)', 'CuS': '硫化銅(II)', 'Cu(OH)2': '水酸化銅(II)', 'CuI2': 'ヨウ化銅(II)', 'AgCl': '塩化銀', 'Ag2O': '酸化銀', 'AgF': 'フッ化銀', 'Ag2S': '硫化銀', 'AgOH': '水酸化銀', 'AgI': 'ヨウ化銀', 'BaCl2': '塩化バリウム', 'BaO': '酸化バリウム', 'BaF2': 'フッ化バリウム', 'BaS': '硫化バリウム', 'Ba(OH)2': '水酸化バリウム', 'BaI2': 'ヨウ化バリウム', 'FeCl2': '塩化鉄(II)', 'FeO': '酸化鉄(II)', 'FeF2': 'フッ化鉄(II)', 'FeS': '硫化鉄(II)', 'Fe(OH)2': '水酸化鉄(II)', 'FeI2': 'ヨウ化鉄(II)', 'MnCl2': '塩化マンガン(II)', 'MnO': '酸化マンガン(II)', 'MnF2': 'フッ化マンガン(II)', 'MnS': '硫化マンガン(II)', 'Mn(OH)2': '水酸化マンガン(II)', 'MnI2': 'ヨウ化マンガン(II)', 'PbCl2': '塩化鉛(II)', 'PbO': '酸化鉛(II)', 'PbF2': 'フッ化鉛(II)', 'PbS': '硫化鉛(II)', 'Pb(OH)2': '水酸化鉛(II)', 'PbI2': 'ヨウ化鉛(II)', 'AlCl3': '塩化アルミニウム', 'Al2O3': '酸化アルミニウム', 'AlF3': 'フッ化アルミニウム', 'Al2S3': '硫化アルミニウム', 'Al(OH)3': '水酸化アルミニウム', 'AlI3': 'ヨウ化アルミニウム', 'FeCl3':"塩化鉄(III)", 'Fe2O3':"酸化鉄(III)", 'FeF3':"フッ化鉄(III)", 'Fe2S3': "硫化鉄", 'Fe(OH)3':"水酸化鉄(III)", 'FeI3':"ヨウ化鉄(III)", 'NH4Cl':"塩化アンモニウム", '(NH4)2O':"酸化アンモニウム", 'NH4F':"フッ化アンモニウム", '(NH4)2S':"硫化アンモニウム", 'NH4OH':"水酸化アンモニウム", 'NH4I':"ヨウ化アンモニウム", 'MgSO4': '硫酸マグネシウム', 'MgS': '硫化マグネシウム', 'MgCO3': '炭酸マグネシウム', 'MgC2O4': 'シュウ酸マグネシウム', 'MgCrO4': 'クロム酸マグネシウム', 'MgCr2O7': '二クロム酸マグネシウム', 'MgS2O3': 'チオ硫酸マグネシウム', 'Mg3(PO4)2': 'リン酸マグネシウム', 'CaSO4': '硫酸カルシウム', 'CaS': '硫化カルシウム', 'CaCO3': '炭酸カルシウム', 'CaC2O4': 'シュウ酸カルシウム', 'CaCrO4': 'クロム酸カルシウム', 'CaCr2O7': '二クロム酸カルシウム', 'CaS2O3': 'チオ硫酸カルシウム', 'Ca3(PO4)2': 'リン酸カルシウム', 'ZnSO4': '硫酸亜鉛', 'ZnS': '硫化亜鉛', 'ZnCO3': '炭酸亜鉛', 'ZnC2O4': 'シュウ酸亜鉛', 'ZnCrO4': 'クロム酸亜鉛', 'ZnCr2O': '二クロム酸亜鉛', 'ZnS2O3': 'チオ硫酸亜鉛', 'Zn3(PO4)2': 'リン酸亜鉛', 'Na2SO4': '硫酸ナトリウム', 'Na2S': '硫化ナトリウム', 'Na2CO3': '炭酸ナトリウム', 'Na2C2O4': 'シュウ酸ナトリウム', 'Na2CrO4': 'クロム酸ナトリウム', 'Na2Cr2O7': '二クロム酸ナトリウム', 'Na2S2O3': 'チオ硫酸ナトリウム', 'Na3PO4': 'リン酸ナトリウム', 'K2SO4': '硫酸カリウム', 'K2S': '硫化カリウム', 'K2CO3': '炭酸カリウム', 'K2C2O4': 'シュウ酸カリウム', 'K2CrO4': 'クロム酸カリウム', 'K2Cr2O7': '二クロム酸カリウム', 'K2S2O3': 'チオ硫酸カリウム', 'K3PO4': 'リン酸カリウム', 'H2SO4': '硫酸', 'H2S': '硫化水素', 'H2CO3': '炭酸', 'H2C2O4': 'オキサル酸', 'H2CrO4': 'クロム酸', 'H2Cr2O7': '二クロム酸', 'H2S2O3': 'チオ硫酸', 'H3PO4': 'リン酸', 'Cu2SO4': '硫酸銅(I)', 'Cu2S': '硫化���(I)', 'Cu2CO3': '炭酸銅(I)', 'Cu2C2O4': 'シュウ酸銅(I)', 'Cu2CrO4': 'クロム酸銅(I)', 'Cu2Cr2O7': '二クロム酸銅(I)', 'Cu2S2O3': 'チオ硫酸銅(I)', 'Cu3PO4': 'リン酸銅(I)', 'CuSO4': '硫酸銅(II)', 'CuS': '硫化銅(II)', 'CuCO3': '炭酸銅(II)', 'CuC2O4': 'シュウ酸銅(II)', 'CuCrO4': 'クロム酸銅(II)', 'CuCr2O7': '二クロム酸銅(II)', 'CuS2O3': 'チオ硫酸銅(II)', 'Cu3(PO4)2': 'リン酸銅(II)', 'Ag2SO4': '硫酸銀', 'Ag2S': '硫化銀', 'Ag2CO3': '炭酸銀', 'Ag2C2O4': 'シュウ酸銀', 'Ag2CrO4': 'クロム酸銀', 'Ag2Cr2O7': '二クロム酸銀', 'Ag2S2O3': 'チオ硫酸銀', 'Ag3PO4': 'リン酸銀', 'BaSO4': '硫酸バリウム', 'BaS': '硫化バリウム', 'BaCO3': '炭酸バリウム', 'BaC2O4': 'シュウ酸バリウム', 'BaCrO4': 'クロム酸バリウム', 'BaCr2O7': '二クロム酸バリウム', 'BaS2O3': 'チオ硫酸バリウム', 'Ba3(PO4)2': 'リン酸バリウム', 'FeSO4': '硫酸鉄(II)', 'FeS': '硫化鉄(II)', 'FeCO3': '炭酸鉄(II)', 'FeC2O4': 'シュウ酸鉄(II)', 'FeCrO4': 'クロム酸鉄(II)', 'FeCr2O7': '二クロム酸鉄(II)', 'FeS2O3': 'チオ硫酸鉄(II)', 'Fe3(PO4)2': 'リン酸鉄(II)', 'MnSO4': '硫酸マンガン(II)', 'MnS': '硫化マンガン(II)', 'MnCO3': '炭酸マンガン(II)', 'MnC2O4': 'シュウ酸マンガン(II)', 'MnCrO4': 'クロム酸マンガン(II)', 'MnCr2O)': '二クロム酸マンガン(II)', 'MnS2O3': 'チオ硫酸マンガン(II)', 'Mn3(PO4)2': 'リン酸マンガン(II)', 'Mn2SO4': '硫酸マンガン(III)', 'Mn2S': '硫化マンガン(III)', 'Mn2CO3': '炭酸マンガン(III)', 'Mn2C2O4': 'シュウ酸マンガン(III)', 'Mn2CrO4': 'クロム酸マンガン(III)', 'Mn2Cr2O7': '二クロム酸マンガン(III)', 'Mn2S2O3': 'チオ硫酸マンガン(III)', 'Mn3PO4': 'リン酸マンガン(III)', 'PbSO4': '硫酸鉛(II)', 'PbS': '硫化鉛(II)', 'PbCO3': '炭酸鉛(II)', 'PbC2O4': 'シュウ酸鉛(II)', 'PbCrO4': 'クロム酸鉛(II)', 'PbCr2O7': '二クロム酸鉛(II)', 'PbS2O3': 'チオ硫酸鉛(II)', 'Pb3(PO4)2': 'リン酸鉛(II)', 'Al2(SO4)3': '硫酸アルミニウム', 'Al2S3': '硫化アルミニウム', 'Al2(CO3)3': '炭酸アルミニウム', 'Al2(C2O4)3': 'シュウ酸アルミニウム', 'Al2(CrO4)3': 'クロム酸アルミニウム', 'Al2(Cr2O7)3': '二クロム酸アルミニウム', 'Al2(S2O3)3': 'チオ硫酸アルミニウム', 'AlPO4': 'リン酸アルミニウム', 'Fe2(SO4)3': '硫酸鉄(III)', 'Fe2S3': '硫化鉄(III)', 'Fe2(CO3)3': '炭酸鉄(III)', 'Fe2(C2O4)3': 'シュウ酸鉄(III)', 'Fe2(CrO4)3': 'クロム酸鉄(III)', 'Fe2(Cr2O7)3': '二クロム酸鉄(III)', 'Fe2(S2O3)3': 'チオ硫酸鉄(III)', 'FePO4': 'リン酸鉄(III)', 'Mg(NO3)2': '硝酸マグネシウム', 'Mg(CH3COO)2': '酢酸マグネシウム', 'Mg(MnO4)2': '過マンガン酸マグネシウム', 'Ca(NO3)2': '硝酸カルシウム', 'Ca(CH3COO)2': '酢酸カルシウム', 'Ca(MnO4)2': '過マンガン酸カルシウム', 'Zn(NO3)2': '硝酸亜鉛', 'Zn(CH3COO)2': '酢酸亜鉛', 'Zn(MnO4)2': '過マンガン酸亜鉛', 'NaNO3': '硝酸ナトリウム', 'Na(CH3COO)': '酢酸ナトリウム', 'Na(MnO4)': '過マンガン酸ナトリウム', 'KNO3': '硝酸カリウム', 'K(CH3COO)': '酢酸カリウム', 'K(MnO4)': '過マンガン酸カリウム', 'HNO3': '硝酸', 'HCH3COO': '酢酸', 'HMnO4': '過マンガン酸', 'CuNO3': '硝酸銅(I)', 'CuCH3COO': '酢酸銅(I)', 'CuMnO4': '過マンガン酸銅(I)', 'Cu(NO3)2': '硝酸銅(II)', 'Cu(CH3COO)2': '酢酸銅(II)', 'Cu(MnO4)2': '過マンガン酸銅(II)', 'AgNO3': '硝酸銀', 'AgCH3COO': '酢酸銀', 'AgMnO4': '過マンガン酸銀', 'Ba(NO3)2': '硝酸バリウム', 'Ba(CH3COO)2': '酢酸バリウム', 'Ba(MnO4)2': '過マンガン酸バリウム', 'Fe(NO3)2': '硝酸鉄(II)', 'Fe(CH3COO)2': '酢酸鉄(II)', 'Fe(MnO4)2': '過マンガン酸鉄(II)', 'Mn(NO3)2': '硝酸マンガン(II)', 'Mn(CH3COO)2': '酢酸マンガン(II)', 'MnNO3': '硝酸マンガン(I)', 'MnCH3COO': '酢酸マンガン(I)', 'Pb(NO3)2': '硝酸鉛(II)', 'Pb(CH3COO)2': '酢酸鉛(II)', 'Pb(MnO4)2': '過マンガン酸鉛(II)', 'Al(NO3)3': '硝酸アルミニウム', 'Al(CH3COO)3': '酢酸アルミニウム', 'Al(MnO4)3': '過マンガン酸アルミニウム', 'Fe(NO3)3': '硝酸鉄(III)', 'Fe(CH3COO)3': '酢酸鉄(III)', 'Fe(MnO4)3': '過マンガン酸鉄(III)', "HMnO4":"過マンガン酸"
8
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
 
10
 
 
11
  def get_random_country():
12
  country = random.choice(list(capitals.keys()))
13
+ return country, capitals[country]
 
 
 
 
14
 
15
  @app.route('/', methods=['GET', 'POST'])
16
  def quiz():
17
+ if 'current_化合物' not in session: # セッションに現在の化合物がない場合は新しいものを取得
18
+ session['current_化合物'], session['current_化合物名'] = get_random_country()
19
 
20
  result = None
 
21
  if request.method == 'POST':
22
  user_input = request.form['user_input']
23
+ if user_input == session['current_化合物']:
 
24
  result = '正解です!'
25
  else:
26
+ result = '不正解です。正解は{}です。'.format(session['current_化合物'])
27
 
28
+ return render_template('quiz.html', element=session['current_化合物'], result=result)
29
 
30
  @app.route('/next', methods=['POST'])
31
  def next_question():
32
+ session.pop('current_化合物') # 現在の化合物をセッションから削除
33
+ session.pop('current_化合物名')
 
 
34
  return redirect(url_for('quiz'))
35
+
36
  if __name__ == '__main__':
37
+ app.run(debug=True, port=7860, host="0.0.0.0")