Предварително се извинявам за природата на този въпрос. Все още не трябва да обгръщам съзнанието си, докато има цикли.
Този пример е задача за домашна работа от книга за начинаещи:
Напишете програма, която случайно отваря различни бисквитки на съдбата и отпечатва всяко съобщение. Потребителят трябва само да натисне "enter", за да отвори една бисквитка след друга.
Ето какво имам досега ...
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")
Отговори:
3 за отговор № 1Проблемът с вашия код е, че cookie_number
се получава извън while
така че тя ще бъде еднаква всеки път, когато потребителят натисне.
Трябва да преместите втората линия в цикъла, ако искате друго cookie_number
при всяка итерация.
Също така можете да поставите винаги вярно състояние в цикъла "if", ако искате потребителят да може винаги да отваря повече "бисквитки".
Нещо такова:
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")