2017-01-28 1 views
-2

Ich benutze Python.Zufallsgenerator - das stoppt

Wie kann ich einen Code erstellen, der Zufallszahlen zwischen 1 und 1000 (einschließlich) unendlich generiert, bis er die Zahl 39 generiert und stoppt? Hier

ist, was ich habe versucht, so weit, aber es hat nicht funktioniert:

import random 

print(random.randint(1,1000)) 

if random.randint=39: 

break 
+2

Erfahren Sie mehr über Schleifen. 'for',' while' usw. –

+2

Sie sollten 'while' als' while random.randint (1, 1000) verwenden! = 39: ' –

+0

Sie können' itertools' verwenden, um den Generator für Sie zu erstellen. Sein irgendwie dichter Code ... 'itertools.takewhile ( Lambda x: x! = 39, itertools.starmap (random.randint, itertools.repeat ((1, 1000))))' – tdelaney

Antwort

0

diesen Code Versuchen:

import random 
while random.randint(1,1000) != 39: 
    pass 

oder (je nach Bedarf):

import random 
while True: 
    if random.randint(1,1000) == 39: 
     break 

Wenn Sie Generator erstellen möchten, versuchen Sie etwas wie dieses:

import random 

def generate_numbers(exact_number):  
    while True: 
     n = random.randint(1,1000) 
     if n == exact_number: 
      break 
     yield n 

#example usage 
for i in generate_numbers(39): 
    print(i)