Z góry przepraszamy za charakter tego pytania w Pythonie 101. Muszę jeszcze owijać umysł w pętle.
Ten przykład to zadanie domowe z książki dla początkujących:
Napisz program, który losowo otwiera różne ciasteczka i drukuje każdą wiadomość. Użytkownik musi tylko nacisnąć „enter”, aby otworzyć jedno ciasteczko po drugim.
Oto co mam do tej pory ...
import random
cookie_number=random.randrange(3)+1
prompt=""
while not prompt:
prompt=input("Open Cookie")
if cookie_number==1:
print("your lucky numbers are 3, 22, 107")
elif cookie_number==2:
print("you are lucky in love today")
elif cookie_number==3:
print("buy stocks today")
else:
print("stay away from MSG")
Odpowiedzi:
3 dla odpowiedzi № 1Problem z twoim kodem polega na tym, że cookie_number
uzyskuje się poza while
pętla, więc będzie taka sama za każdym razem, gdy użytkownik naciśnie enter.
Musisz przenieść drugą linię w pętli, jeśli chcesz mieć inną cookie_number
w każdej iteracji.
W pętli while możesz również umieścić zawsze prawdziwy warunek, jeśli chcesz, aby użytkownik zawsze mógł otwierać więcej plików cookie.
Coś w tym stylu:
import random
while True:
prompt=input("Open Cookie")
cookie_number=random.randrange(3)+1
if cookie_number == 1:
print("your lucky numbers are 3, 22, 107")
elif cookie_number == 2:
print("you are lucky in love today")
elif cookie_number == 3:
print("buy stocks today")
else:
print("stay away from MSG")