[英]How to generate a new random number in python without running the program again or add up new variable?
到目前為止,我已經學會了如何使用randrange()
和randrange()
choice.random()
來生成隨機數。 但有些事讓我感到困惑,每次我只能生成一個固定的隨機數,如:
import random
x = [1,2,3,4]
chance = random.choice(x)
while chance < 5:
print chance
在這個例子中,偶然產生的隨機數是固定的。 如果我想生成一個新的隨機數,我必須再次運行該程序或添加一個新的變量。
有沒有一種方法,我可以構建一些東西,我用它來生成新的隨機數,而無需再次運行程序或添加新的變量?
非常感謝你!
while True:
chance = random.choice(x)
print chance
line chance = random.choice(x)
計算一次random.choice(x)
表達式,並將結果賦給變量chance
。 在那之后,在你的代碼中,你只是反復尋找chance
。 那將不會再次評估表達式random.choice(x)
。
有沒有一種方法,我可以構建一些東西,我用它來生成新的隨機數,而無需再次運行程序或添加新的變量?
嗯,是的,您可以生成一個隨機值的惰性無限迭代器,並一次獲取一個。 但你不想這樣做。*
避免每次“添加新變量”的關鍵是重用相同的變量:
chance = random.choice(x)
while chance < 5:
print chance
chance = random.choice(x)
*如果你想知道: for chance in takewhile(lambda i: i<5, (random.choice(x) for _ in count()):
但是請注意它仍然在做“重復使用的chance
,因為那是實際解決你問題的部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.