File size: 4,294 Bytes
9deadaf
8b41da9
 
 
9deadaf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0e6f883
8651983
9deadaf
 
 
 
 
 
 
 
 
 
 
e2daa05
9deadaf
8b41da9
9deadaf
8b41da9
9deadaf
 
 
 
 
 
 
 
8b41da9
9deadaf
e2daa05
9deadaf
 
 
6066cfe
9deadaf
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
from flask import Flask, render_template, request, redirect, url_for
import random

app = Flask(__name__)

# 首都のデータを辞書に格納する
capitals = {
    'MgCl2': '塩化マグネシウム',
    'MgO': '酸化マグネシウム',
    'MgF2': 'フッ化マグネシウム',
    'MgS': '硫化マグネシウム',
    'MgOH2': '水酸化マグネシウム',
    'MgI2': 'ヨウ化マグネシウム',
    'CaCl2': '塩化カルシウム',
    'CaO': '酸化カルシウム',
    'CaF2': 'フッ化カルシウム',
    'CaS': '硫化カルシウム',
    'CaOH2': '水酸化カルシウム',
    'CaI2': 'ヨウ化カルシウム',
    'ZnCl2': '塩化亜鉛',
    'ZnO': '酸化亜鉛',
    'ZnF2': 'フッ化亜鉛',
    'ZnS': '硫化亜鉛',
    'ZnOH2': '水酸化亜鉛',
    'ZnI2': 'ヨウ化亜鉛',
    'NaCl': '塩化ナトリウム',
    'Na2O': '酸化ナトリウム',
    'NaF': 'フッ化ナトリウム',
    'Na2S': '硫化ナトリウム',
    'NaOH': '水酸化ナトリウム',
    'NaI': 'ヨウ化ナトリウム',
    'KCl': '塩化カリウム',
    'K2O': '酸化カリウム',
    'KF': 'フッ化カリウム',
    'K2S': '硫化カリウム',
    'KOH': '水酸化カリウム',
    'KI': 'ヨウ化カリウム',
    'HCl': '塩酸',
    'H2O': '水',
    'HF': 'フッ化水素',
    'H2S': '硫化水素',
    'HOH': '水',  # HOHも水のもう一つの表記
    'HI': 'ヨウ化水素',
    'CuCl': '塩化銅(I)',
    'Cu2O': '酸化銅(I)',
    'CuF': 'フッ化銅(I)',
    'Cu2S': '硫化銅(I)',
    'CuOH': '水酸化銅(I)',
    'CuI': 'ヨウ化銅(I)',
    'CuCl2': '塩化銅(II)',
    'CuO': '酸化銅(II)',
    'CuF2': 'フッ化銅(II)',
    'CuS': '硫化銅(II)',
    'CuOH2': '水酸化銅(II)',
    'CuI2': 'ヨウ化銅(II)',
    'AgCl': '塩化銀',
    'Ag2O': '酸化銀',
    'AgF': 'フッ化銀',
    'Ag2S': '硫化銀',
    'AgOH': '水酸化銀',
    'AgI': 'ヨウ化銀',
    'BaCl2': '塩化バリウム',
    'BaO': '酸化バリウム',
    'BaF2': 'フッ化バリウム',
    'BaS': '硫化バリウム',
    'BaOH2': '水酸化バリウム',
    'BaI2': 'ヨウ化バリウム',
    'FeCl2': '塩化鉄(II)',
    'FeO': '酸化鉄(II)',
    'FeF2': 'フッ化鉄(II)',
    'FeS': '硫化鉄(II)',
    'FeOH2': '水酸化鉄(II)',
    'FeI2': 'ヨウ化鉄(II)',
    'MnCl2': '塩化マンガン(II)',
    'MnO': '酸化マンガン(II)',
    'MnF2': 'フッ化マンガン(II)',
    'MnS': '硫化マンガン(II)',
    'MnOH2': '水酸化マンガン(II)',
    'MnI2': 'ヨウ化マンガン(II)',
    'MnCl': '塩化マンガン(I)',
    'Mn2O': '酸化マンガン(I)',
    'MnF': 'フッ化マンガン(I)',
    'Mn2S': '硫化マンガン(I)',
    'MnOH': '水酸化マンガン(I)',
    'MnI': 'ヨウ化マンガン(I)',
    'PbCl2': '塩化鉛(II)',
    'PbO': '酸化鉛(II)',
    'PbF2': 'フッ化鉛(II)',
    'PbS': '硫化鉛(II)',
    'PbOH2': '水酸化鉛(II)',
    'PbI2': 'ヨウ化鉛(II)',
    'AlCl3': '塩化アルミニウム',
    'Al2O3': '酸化アルミニウム',
    'AlF3': 'フッ化アルミニウム',
    'Al2S3': '硫化アルミニウム',
    'AlOH3': '水酸化アルミニウム',
    'AlI3': 'ヨウ化アルミニウム',
}

    

# ランダムな国名とその首都を取得する関数
def get_random_country():
    country = random.choice(list(capitals.keys()))
    return capitals[country],country

# 初期の問題を設定する
current_化合物, current_化合物名 = get_random_country()

@app.route('/', methods=['GET', 'POST'])
def quiz():
    global current_化合物, current_化合物名
    
    result = None

    if request.method == 'POST':
        user_input = request.form['user_input']
        if user_input == current_化合物名:
            result = '正解です!'
        else:
            result = '不正解です。正解は{}です。'.format(current_化合物名)
    
    return render_template('quiz.html', element=current_化合物, result=result)

@app.route('/next', methods=['POST'])
def next_question():
    global current_化合物, current_化合物名
    current_化合物, current_化合物名 = get_random_country()
    return redirect(url_for('quiz'))

if __name__ == '__main__':
    app.run(debug=True, port=5505)