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