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)
|