Update outerElectronFl.py
Browse files- outerElectronFl.py +11 -16
outerElectronFl.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
-
from flask import Flask, render_template, request, redirect, url_for
|
| 2 |
import random
|
| 3 |
|
| 4 |
app = Flask(__name__)
|
|
|
|
| 5 |
|
| 6 |
-
# 首都のデータを辞書に格納する
|
| 7 |
capitals = {
|
| 8 |
'H': 1, 'He': 2,
|
| 9 |
'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10,
|
|
@@ -14,36 +14,31 @@ capitals = {
|
|
| 14 |
'In': 49, 'Sn': 50, 'Sb': 51, 'I': 53, 'Xe': 54,
|
| 15 |
}
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
# ランダムな国名とその首都を取得する関数
|
| 20 |
def get_random_country():
|
| 21 |
country = random.choice(list(capitals.keys()))
|
| 22 |
-
return capitals[country]
|
| 23 |
-
|
| 24 |
-
# 初期の問題を設定する
|
| 25 |
-
current_化合物, current_化合物名 = get_random_country()
|
| 26 |
|
| 27 |
@app.route('/', methods=['GET', 'POST'])
|
| 28 |
def quiz():
|
| 29 |
-
|
|
|
|
| 30 |
|
| 31 |
result = None
|
| 32 |
|
| 33 |
if request.method == 'POST':
|
| 34 |
user_input = request.form['user_input']
|
| 35 |
-
if user_input == current_化合物名:
|
| 36 |
result = '正解です!'
|
| 37 |
else:
|
| 38 |
-
result = '不正解です。正解は{}です。'.format(current_化合物名)
|
| 39 |
|
| 40 |
-
return render_template('quiz.html', element=current_化合物, result=result)
|
| 41 |
|
| 42 |
@app.route('/next', methods=['POST'])
|
| 43 |
def next_question():
|
| 44 |
-
|
| 45 |
-
current_化合物
|
| 46 |
return redirect(url_for('quiz'))
|
| 47 |
|
| 48 |
if __name__ == '__main__':
|
| 49 |
-
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 = {
|
| 8 |
'H': 1, 'He': 2,
|
| 9 |
'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10,
|
|
|
|
| 14 |
'In': 49, 'Sn': 50, 'Sb': 51, 'I': 53, 'Xe': 54,
|
| 15 |
}
|
| 16 |
|
|
|
|
|
|
|
|
|
|
| 17 |
def get_random_country():
|
| 18 |
country = random.choice(list(capitals.keys()))
|
| 19 |
+
return country, capitals[country]
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
@app.route('/', methods=['GET', 'POST'])
|
| 22 |
def quiz():
|
| 23 |
+
if 'current_化合物' not in session: # セッションに現在の化合物がない場合は新しいものを取得
|
| 24 |
+
session['current_化合物'], session['current_化合物名'] = get_random_country()
|
| 25 |
|
| 26 |
result = None
|
| 27 |
|
| 28 |
if request.method == 'POST':
|
| 29 |
user_input = request.form['user_input']
|
| 30 |
+
if user_input == session['current_化合物名']:
|
| 31 |
result = '正解です!'
|
| 32 |
else:
|
| 33 |
+
result = '不正解です。正解は{}です。'.format(session['current_化合物名'])
|
| 34 |
|
| 35 |
+
return render_template('quiz.html', element=session['current_化合物'], result=result)
|
| 36 |
|
| 37 |
@app.route('/next', methods=['POST'])
|
| 38 |
def next_question():
|
| 39 |
+
session.pop('current_化合物') # 現在の化合物をセッションから削除
|
| 40 |
+
session.pop('current_化合物名')
|
| 41 |
return redirect(url_for('quiz'))
|
| 42 |
|
| 43 |
if __name__ == '__main__':
|
| 44 |
+
app.run(debug=True, port=7860, host="0.0.0.0")
|