Elem2Num / outerElectronFl.py
OzoneAsai's picture
Update outerElectronFl.py
a3f4faa verified
from flask import Flask, render_template, request, redirect, url_for, session
import random
app = Flask(__name__)
app.secret_key = 'your_secret_key_here' # セッションの安全な署名に必要なキー
capitals = {
'H': 1, 'He': 2,
'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10,
'Na': 11, 'Mg': 12, 'Al': 13, 'Si': 14, 'P': 15, 'S': 16, 'Cl': 17, 'Ar': 18,
'K': 19, 'Ca': 20, 'Sc': 21, 'Ti': 22, 'V': 23, 'Cr': 24, 'Mn': 25, 'Fe': 26, 'Co': 27, 'Ni': 28, 'Cu': 29, 'Zn': 30,
'Ga': 31, 'Ge': 32, 'As': 33, 'Se': 34, 'Br': 35,
'Rb': 37, 'Sr': 38, 'Y': 39, 'Zr': 40, 'Nb': 41, 'Mo': 42, 'Tc': 43, 'Ru': 44, 'Rh': 45, 'Pd': 46, 'Ag': 47, 'Cd': 48,
'In': 49, 'Sn': 50, 'Sb': 51, 'I': 53, 'Xe': 54,
}
def get_random_country():
country = random.choice(list(capitals.keys()))
return country, capitals[country]
@app.route('/', methods=['GET', 'POST'])
def quiz():
if 'current_化合物' not in session: # セッションに現在の化合物がない場合は新しいものを取得
session['current_化合物'], session['current_化合物名'] = get_random_country()
result = None
if request.method == 'POST':
user_input = int(request.form['user_input'])
if user_input == session['current_化合物名']:
result = '正解です!'
else:
result = '不正解です。正解は{}です。'.format(session['current_化合物名'])
return render_template('quiz.html', element=session['current_化合物'], result=result)
@app.route('/next', methods=['POST'])
def next_question():
session.pop('current_化合物') # 現在の化合物をセッションから削除
session.pop('current_化合物名')
return redirect(url_for('quiz'))
if __name__ == '__main__':
app.run(debug=True, port=7860, host="0.0.0.0")