これは私が持っているものですが、これは乱数を一度だけ生成し、その数を無限に出力します:
import random
x = random.randint(0,10)
y = 7
while x != y:
print(x)
これは私が持っているものですが、これは乱数を一度だけ生成し、その数を無限に出力します:
import random
x = random.randint(0,10)
y = 7
while x != y:
print(x)
次のようなもの(while内で条件を移動):
stop_at = 7
while True:
num = random.randint(0, 10)
if num == stop_at:
break
print num
または、完全なリファクタリング:
from itertools import starmap, repeat, takewhile
from random import randint
for num in takewhile(lambda L: L != 7, starmap(randint, repeat( (0, 10) ))):
print num
ループ内で新しい乱数を生成する必要があります。
import random
x = random.randint(0,10)
y = 7
while x != y:
print(x) #Print old (non-7) random number
x = random.randint(0,10) #pick a new number. I hope it's 7 so we can end this madness
print("You found {0}. Congrats. Go have a beer.".format(y))