2016-11-11 5 views
0

のPython /フラスコ/ HTMLのPython /フラスコ/ 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> 

答えて

0

random.choiceはすでに以前に選択されている項目を返すことができます。独自のサンプルを返すには、random.sampleを使用します。

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

あなたは、交換(すなわちない反復)することなく、ランダムにrandom.sample(population, k)、サンプル母集団を使用することができます。

a = random.sample(fruits, z) 
関連する問題