W Pythonie używane są dwa rodzaje pętli: while
i for
.
Pętlę while znamy już ze Scratcha. W tym przykładzie Kot będzie wymieniał co sekundę kolejne cyfry od 0 do 4. Cyfry 5 już nie powie, bo w tym momenice spełni się warunek pętli powtarzaj aż. Program się zatrzyma.
Pętla while
w Pythonie wykonuje się dopóki pewien warunek logiczny jest spełniony. Przykład:
# Wypisze 0 1 2 3 4
licznik = 0
while licznik < 5:
print (licznik)
licznik += 1 # Ma to taki sam efekt jak licznik = licznik + 1
Kolejny programik to przykład niekończącej się pętli. To też znacie ze Scratcha.
Tam mieliśmy pętle zawszeW przypadku Pythona to pętla while True co można przetłumaczyć jako dopóki Prawda. Program działa, aż do wyłączenia prądu.
licznik = 0
while True:
print (licznik)
licznik += 1
Takie niekończące się pętle to często błędy programisty. Należy pamiętać o tym żeby pętla miała szansę się zakończyć, gdy warunek zostanie spełniony.
licznik = 0
while True:
print (licznik)
licznik += 1
if licznik >= 5:
break
print("koniec")
break
jest używany do zakończenia pętli.
Automat do wydawania pizzy
wybor = 0
print('Tu automat z pizzą do wyboru')
while wybor == 0:
print('''
wpisz 1 - jeśli zamawiasz małą pizzę
wpisz 2 - jeśli zamawiasz średnią pizzę
wpisz 3 - jeśli zamawiasz dużą pizzę
''')
w = input('Wpisz co wybrałeś: ')
if w == '1' or w == '2' or w == '3':
break
print('\nNiestety nie zrozumiałeś instrukcji!')
print('\nZamówienie przyjęte')
if w == '1':
print('\nMała pizza jest gotowa! Smacznego!')
if w == '2':
print('\nŚrednia pizza jest gotowa! Smacznego!')
if w == '3':
print('\nDuża pizza jest gotowa! Smacznego!')
Inny przykład wykorzystania pętli while
haslo = input("Podaj hasło: ")
while haslo != "masło":
print("\nOdmowa dostępu!")
haslo = input("\nPodaj hasło: ")
print("\nWitamy w systemie bankowym")