|
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': '水', |
|
'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) |
|
|