Python / Flask / HTML和随机随机长度变量输出

时间:2016-11-11 18:12:28

标签: python html list random flask

的Python /瓶/ HTML

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

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

例如

(输出):

apple orange

苹果

苹果橙橙

但是我不希望水果在产生的输出中重复,保持其他所有内容。

所以我想禁止

“苹果橘子橙”

发生

如何实现?

以下代码:

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>

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用random.sample(population, k),随机抽样而无需替换(即不重复)。

a = random.sample(fruits, z)