簡體   English   中英

如何在python中生成一個新的隨機數,而無需再次運行程序或添加新變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM