繁体   English   中英

我是否缺少缩进或其他问题?

[英]Am I missing indentation or is something else wrong with this?

from flask import Flask, render_template, request, redirect, session
import random
app = Flask(__name__)
app.secret_key = "guess_secret"

@app.route('/') 
def landing_page():
    if 'num' not in session:
        session['num'] = random.randrange(0,101)
    if 'message' not in session:
        session['message'] = ''
    if 'color' not in session:
        session['color'] = ''
    return render_template('indexa.html', msg = session['message'], color = session['color'])

@app.route('/execute', methods=['POST'])
def check_guess():
    session(['guess']) = int(request.form['guess'])
if (session['guess']==session['num']):
    session['message'] = str(session['num'])+'was the number!'
    session['color']='green'
elif int(request.form['guess']) < session['num']:
    session['message'] = 'Too low.'
    session['color']='red'
else: 
    session['message'] = 'Too high.'
    session['color']='red'
    return redirect('/')

@app.route('/reset', methods=['POST'])
def reset():
    session.pop('number') 
    session.pop('guess')
    session.pop('color')
    return redirect('/')

app.run(debug=True)

我正在尝试创建一个猜谜游戏烧瓶页面。 不断返回“文件“guess.py”,第 27 行 session['color']='red' ^ IndentationError: unindent 不匹配任何外部缩进级别

尽管代码在语法上似乎是正确的,但它看起来好像这部分:

@app.route('/execute', methods=['POST'])
def check_guess():
    session(['guess']) = int(request.form['guess'])
if (session['guess']==session['num']):
    session['message'] = str(session['num'])+'was the number!'
    session['color']='green'
elif int(request.form['guess']) < session['num']:
    session['message'] = 'Too low.'
    session['color']='red'
else: 
    session['message'] = 'Too high.'
    session['color']='red'
    return redirect('/')

可能是这样的:

@app.route('/execute', methods=['POST'])
def check_guess():
    session(['guess']) = int(request.form['guess'])
    if (session['guess']==session['num']):
        session['message'] = str(session['num'])+'was the number!'
        session['color']='green'
    elif int(request.form['guess']) < session['num']:
        session['message'] = 'Too low.'
        session['color']='red'
    else: 
        session['message'] = 'Too high.'
        session['color']='red'
    return redirect('/')

还要确保不要混用制表符和空格。 如果您使用空格缩进,请确保代码中根本没有制表符。

你的代码没有正确缩进试试下面的代码

from flask import Flask, render_template, request, redirect, session
import random
app = Flask(__name__)
app.secret_key = "guess_secret"

@app.route('/') 
def landing_page():
    if 'num' not in session:
        session['num'] = random.randrange(0,101)
    if 'message' not in session:
        session['message'] = ''
    if 'color' not in session:
        session['color'] = ''
    return render_template('indexa.html', msg = session['message'], color = session['color'])

@app.route('/execute', methods=['POST'])
def check_guess():
    session(['guess']) = int(request.form['guess'])
if (session['guess']==session['num']):
    session['message'] = str(session['num'])+'was the number!'
    session['color']='green'
elif int(request.form['guess']) < session['num']:
    session['message'] = 'Too low.'
    session['color']='red'
else: 
    session['message'] = 'Too high.'
    session['color']='red'
    return redirect('/')

@app.route('/reset', methods=['POST'])
def reset():
    session.pop('number') 
    session.pop('guess')
    session.pop('color')
    return redirect('/')

app.run(debug=True)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM