首页 > 解决方案 > Python烧瓶for循环不打印所有输出?

问题描述

我在这里有一个这样的数据集:

df=    
    A            B            C
    house        50           50
    money        80           50
    bed          20           60 

这是我的代码:

@app.route('/index', methods=['POST'])
def index():
    if request.method == 'POST'
        inpt = request.form['inpt']
  
        for text in df['A']:
            if text == inpt:
                give_text = df[df['A'] == inpt]
                give_text = give_text.drop(['A'], axis =1)

        for column in give_text:
            column_edit = give_text[column]
            column_edit = column_edit * 5
            
            return render_template('index.html', numbers = column_edit)

如果这是我的代码,它将如何改变:

@app.route('/index', methods=['POST'])
def index():
    if request.method == 'POST'
        inpt = request.form['inpt']
  
        for text in df['A']:
            if text == inpt:
                give_text = df[df['A'] == inpt]
                give_text = give_text.drop(['A'], axis =1)

        for column in give_text:
            column_edit = give_text[column]
            column_edit = column_edit * 5
           
            if ".." in column_edit:     #nvm which symbol
                column_edit = column_edit + "meters"
                return render_template('index.html', numbers = column_edit)

还有我的 HTML 文件中的代码:

<form> action ='/index' method = 'post'>
    <p>< input type = 'text' name='inpt'/> </p>
    <p>< input type = 'submit' name='submit'/> </p>
    
  
    <h3>{{numbers}}</h3>
</form>

但是为什么他总是在我的网站上打印我循环的第一个答案?

如果我写'house ' 作为输入。我想在我的网站上打印整个计算数据集,如下所示:

output:
    250
    250

 

标签: pythonflask

解决方案


我们必须把return外循环

@app.route('/index', methods=['POST'])
def index():
if request.method == 'POST'
    inpt = request.form['inpt']
    for text in df['A']:
        if text == inpt:
            give_text = df[df['A'] == inpt]
            give_text = give_text.drop(['A'], axis =1)

    numbers_list = []
    column_list_with_some_text = []
    for column in give_text:
        column_edit = give_text[column]
        
        if "some text" in column_edit: 
            column_list_with_some_text.append(column_edit + "There was some text")

        column_edit = column_edit * 5
        numbers_list.append(column_edit)
        
return render_template('index.html', numbers= numbers_list, column_list_with_some_text= column_list_with_some_text )

推荐阅读