的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>
答案 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)