|
from flask import Flask, render_template, request, redirect, url_for, session |
|
import random |
|
|
|
app = Flask(__name__) |
|
app.secret_key = 'your_secret_key_here' |
|
|
|
questions = { |
|
"What is the capital of France?": "Paris", |
|
"What is the largest ocean?": "Pacific", |
|
"Which planet is known as the Red Planet?": "Mars", |
|
"What is the chemical symbol for water?": "H2O", |
|
} |
|
|
|
def get_random_question(): |
|
question = random.choice(list(questions.keys())) |
|
return question, questions[question] |
|
|
|
@app.route('/', methods=['GET', 'POST']) |
|
def quiz(): |
|
if 'current_question' not in session: |
|
session['current_question'], session['current_answer'] = get_random_question() |
|
|
|
result = None |
|
|
|
if request.method == 'POST': |
|
user_input = request.form['user_input'] |
|
if user_input == session['current_answer']: |
|
result = '正解です!' |
|
else: |
|
result = '不正解です。正解は{}です。'.format(session['current_answer']) |
|
|
|
return render_template('quiz.html', question=session['current_question'], result=result) |
|
|
|
@app.route('/next', methods=['POST']) |
|
def next_question(): |
|
session.pop('current_question') |
|
session.pop('current_answer') |
|
return redirect(url_for('quiz')) |
|
|
|
if __name__ == '__main__': |
|
app.run(debug=True, port=7860, host="0.0.0.0") |