forループを実行して、それぞれに対してrandom.choice( "black"または "red")の値を出力します。繰り返し。それが正常に動作します、しかし、もし条件にrandom.choiceを割り当てると、動作していないよう:Python random.choice()if-functionをループに使用する方法 - 各繰り返しに値を割り当てる方法
import random
def randomcolour():
foo = ['black', 'red']
for i in range(10):
random.choice(foo)
print(i, random.choice(foo))
if random.choice(foo) == "black":
print(i, "black")
else:
print(i, "red")
randomcolour()
ここでは何が起こる「random.choice(FOO)」の最初の実行がランダムに「黒」を選択したということですか"赤"。しかし、if関数の "random.choice(foo)"は、明らかに以前に選択した同じランダム値を使用する代わりに、別のランダム値を選択します。例えば
、最初の印刷if文...
print(i, random.choice(foo))
...、 "黒"(同じループ反復で)その後文を出力...
if random.choice(foo) == "black":
print(i, "black")
...「黒」も印刷する必要があります。しかし、それは無関係にランダムに "黒"または "赤"を印刷するようです。どうすれば修正できますか?言い換えれば、最初の選択されたランダム値を完全ループ反復に使用するにはどうすればよいですか?
ありがとうございました!
うまく動作します!それに感謝します。前にその変数を試しましたが、random.choice(foo)を呼び出した後に変数を代入するのは間違いでした。 – pythonbrutus