【问题标题】:Python/Flask/HTML and random random length variables outputPython/Flask/HTML 和随机随机长度变量输出
【发布时间】:2016-11-11 18:12:28
【问题描述】:

Python/Flask/HTML

我在下面的代码做了两件我想要实现的事情:

1)从随机选择的、先前定义的变量列表中生成随机长度的输出,并在 html 中显示。

例如(输出):

苹果橙

苹果

苹果橙橙

但我不希望水果在生产的输出中重复,保持其他一切不变。

所以我要禁止

“苹果橙橙”

发生

如何实现?

代码如下:

app.py

    from flask import Flask, render_template
    import os
    import random

    app = Flask(__name__)

    @app.route('/')

def main():
    z=randint(1, 4)
    Hash1="apple"
    Hash2="orange"
    Hash3="banana"
    Hash4="watermelon"
    fruits = [Hash1, Hash2,Hash3, Hash4]
    a=[choice(fruits) for x in range(z)]
    a=a

    return render_template ('show.html', a=a)

if __name__ == '__main__':

    app.run(host=os.getenv('IP', '0.0.0.0'),port=int(os.getenv('PORT', 8080)))

show.html

    <html>

    <title>App</title>

    </head>


     <body>

     <h2>your fruits are {{ a }}  </h2>


     </body>


     </html>

【问题讨论】:

    标签: python html list random flask


    【解决方案1】:

    random.choice 可以返回之前已经选择的项目。要返回唯一样本,请使用random.sample

    ...
    z = random.randint(1, len(fruits))
    a = random.sample(fruits, z)
    return render_template('show.html', a=a)
    

    【讨论】:

      【解决方案2】:

      您可以使用random.sample(population, k),它会随机抽样一个总体而不进行替换(即不重复)。

      a = random.sample(fruits, z)
      

      【讨论】:

        猜你喜欢
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        • 2012-05-16
        • 2017-10-07
        • 2017-11-19
        • 2012-01-26
        • 1970-01-01
        • 2014-10-21
        相关资源
        最近更新 更多