Petle w Pythonie: for z range(), while, break, continue - praktyczne zastosowania
ð Podstawa programowa: II.1Instrukcje iteracyjne (petle) to konstrukcje programistyczne pozwalajace na wielokrotne wykonywanie tego samego bloku kodu. Dzieki nim mozemy powtarzac operacje bez koniecznosci recznego przepisywania kodu wiele razy. W Pythonie mamy do dyspozycji dwa rodzaje petli: for i while.
Petla for w Pythonie sluzy do iterowania po elementach sekwencji. Najczesciej uzywamy jej z funkcja range(), ktora generuje ciag liczb calkowitych.
Funkcja range() moze przyjmowac od 1 do 3 argumentow:
range(n) - generuje liczby od 0 do n-1range(start, stop) - generuje liczby od start do stop-1range(start, stop, step) - generuje liczby od start do stop-1 z krokiem step# Petla for - wypisanie liczb od 0 do 4
for i in range(5):
print(i) # Wypisze: 0, 1, 2, 3, 4
# Petla for z zakresem od 1 do 10
for i in range(1, 11):
print(i) # Wypisze: 1, 2, 3, ..., 10
# Petla for z krokiem 2 (liczby parzyste)
for i in range(0, 20, 2):
print(i) # Wypisze: 0, 2, 4, 6, ..., 18
# Petla for - odliczanie w dol
for i in range(10, 0, -1):
print(i) # Wypisze: 10, 9, 8, ..., 1
Petla while wykonuje blok kodu tak dlugo, jak dlugo warunek jest prawdziwy (True). Jest uzywana wtedy, gdy nie wiemy z gory, ile razy petla powinna sie wykonac.
# Petla while - odliczanie od 5
licznik = 5
while licznik > 0:
print(licznik)
licznik -= 1
print("Start!")
# Petla while - sumowanie do progu
suma = 0
while suma < 100:
liczba = int(input("Podaj liczbe: "))
suma += liczba
print("Suma przekroczyla 100, wynosi:", suma)
while nigdy nie stanie sie falszywy, petla bedzie sie wykonywac w nieskonczonosc. Aby przerwac taki program, nacisniej Ctrl+C. Zawsze upewnij sie, ze warunek petli moze zostac spelniony.
Wewnatrz petli mozemy uzywac specjalnych instrukcji sterujacych:
break - natychmiast przerywa dzialanie petlicontinue - pomija reszte kodu w biezacej iteracji i przechodzi do nastepnej# Przyklad break - szukanie liczby
for i in range(1, 101):
if i == 42:
print("Znaleziono 42!")
break
# Przyklad continue - pominiecie liczb parzystych
for i in range(1, 11):
if i % 2 == 0:
continue
print(i) # Wypisze tylko: 1, 3, 5, 7, 9
Napisz program, ktory wczytuje od uzytkownika liczbe n, a nastepnie oblicza sume wszystkich liczb od 1 do n za pomoca petli for.
n = int(input("Podaj n: "))
suma = 0
for i in range(1, n + 1):
suma += i
print("Suma liczb od 1 do", n, "wynosi:", suma)
Napisz program obliczajacy silnie (n!) podanej przez uzytkownika liczby n. Uzyj petli for lub while. Pamietaj, ze 0! = 1.
n = int(input("Podaj n: "))
silnia = 1
for i in range(1, n + 1):
silnia *= i
print(f"Silnia {n}! = {silnia}")
Napisz gre, w ktorej komputer losuje liczbe od 1 do 100, a uzytkownik ma ja odgadnac. Po kazdej probie program podpowiada "za duzo" lub "za malo". Uzyj petli while i modulu random.
import random
wylosowana = random.randint(1, 100)
proby = 0
print("Zgadnij liczbe od 1 do 100!")
while True:
strzal = int(input("Twoj strzal: "))
proby += 1
if strzal == wylosowana:
print(f"Brawo! Odgadles w {proby} probach!")
break
elif strzal < wylosowana:
print("Za malo!")
else:
print("Za duzo!")
Napisz program, ktory wyswietla tabliczke mnozenia od 1 do 10 w formie przejrzystej tabeli, uzywajac zagniezdzonych petli for.
print(" ", end="")
for j in range(1, 11):
print(f"{j:4}", end="")
print()
print("-" * 44)
for i in range(1, 11):
print(f"{i:2} |", end="")
for j in range(1, 11):
print(f"{i*j:4}", end="")
print()