Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz  

Autor artykułu: mgr Jerzy Wałaszek

©2026 mgr Jerzy Wałaszek

obrazek

Klasa II

Pętle

SPIS TREŚCI

Co to jest pętla?

Pętla (ang. loop) to cykliczne powtarzanie wykonywania wybranej instrukcji lub grupy instrukcji w programie. Obiegiem pętli (ang. loop pass) nazywamy pojedynczy cykl wykonania powtarzanej instrukcji lub grupy instrukcji. Pętla warunkowa (ang. conditional loop) wykonuje powtarzanie obiegów w zależności od wybranego warunku.


do podrozdziału  do strony 

Pętla warunkowa while

Instrukcja pętli while posiada następującą składnię:

while warunek: instrukcja

while warunek:
    ...
    blok instrukcji
    ...

Działanie jest następujące:

Komputer oblicza wartość warunku (warunek ten nazywamy warunkiem kontynuacji pętli). Jeśli warunek jest prawdziwy (ma wartość logiczną True lub jest różny od zera), to zostaje wykonana instrukcja (lub blok instrukcji z  odstępem – nazywamy to obiegiem pętli). Jeśli warunek jest fałszywy (ma wartość logiczną False lub jest równy zero), to  komputer pomija wykonanie instrukcji (lub bloku instrukcji) i przechodzi do następnej instrukcji w programie. Po wykonaniu instrukcji/bloku (czyli po wykonaniu obiegu pętli) komputer wraca do sprawdzenia wartości warunku i cały proces się powtarza. Pętla while (ang. podczas gdy, dopóki...) wykonuje obiegi dotąd, aż warunek stanie się fałszywy (lub równy 0). Wtedy następuje zakończenie pętli (nazywamy to wyjściem z pętli).

Uwaga: Jeśli warunek jest fałszywy przy wejściu do pętli, to pętla nie wykona ani jednego obiegu. Jeśli warunek jest zawsze prawdziwy, to pętla wykonuje obiegi w nieskończoność (pętla nieskończona). Wynika stąd wniosek, iż instrukcje wykonywane w trakcie obiegu muszą wpływać na warunek kontynuacji.

Oto kilka przykładów:

# Pętla while
# Liczby parzyste od 2 do 100
#----------------------------

i = 2
while i <= 100:
    print(i,end=" ")
    i += 2
print()

# Pętla while
# Suma liczb naturalnych
# od 1 do 100
#------------------------

s = 0
i = 1
while i <= 100:
    s += i
    i += 1
print("suma wynosi",s)

# Pętla while
# Silnia
#------------

n = int(input("n = "))
print()
i = 1
s = 1
while i <= n:
    s *= i
    print(i,"! = ",s,sep="")
    i += 1

do podrozdziału  do strony 

Zadania

1. Napisać program, który odczyta dwie liczby całkowite ab wprowadzone w dowolnym porządku, a następnie obliczy sumę wszystkich liczb nieparzystych zawartych pomiędzy nimi. Na przykład:

a = 8, b = 3
suma = 3 + 5 + 7 = 15
a = 3, b = 9
suma = 3 + 5 + 7 + 9 = 24

2. Napisać program, który odczyta granicę, a następnie wyznaczy pierwszą sumę kolejnych liczb naturalnych, która przekracza tę granicę. Na przykład:

granica = 17
suma = 1 + 2 + 3 + 4 + 5 + 6 = 21

3. Napisać program, który odczyta dwie liczby całkowite ab wprowadzone w dowolnym porządku, a następnie obliczy ilość liczb parzystych zawartych pomiędzy nimi. Na przykład:

a = 8, b = 3
liczby parzyste: ...2 4 6 8 10...  wynik = 3
a = 3, b = 11
liczby parzyste: ...2 4 6 8 10 12... wynik = 4

do podrozdziału  do strony 

Funkcja zakresu

Tworzenie ciągów liczb jest bardzo powszechne w programowaniu. W języku Python istnieje specjalna funkcja, która ułatwia to zadanie – range( ). Funkcja tworzy całkowite ciągi liczbowe na trzy sposoby.

range(stop)

Jeśli do funkcji range przekażemy tylko jeden parametr, to ciąg zacznie być tworzony od 0 co jeden w górę, aż osiągnie wartość stop. Wtedy generacja ciągu zostaje przerwana, a stop nie wejdzie do ciągu liczb:

range(10) : 0 1 2 3 4 5 6 7 8 9
range(5)  : 0 1 2 3 4

range(start,stop)

Jeśli do funkcji range przekażemy dwa parametry, to start określi pierwszą wartość ciągu, a stop określi wartość, przy której generacja się kończy:

range(2,10) : 2 3 4 5 6 7 8 9
range(3,6)  : 3 4 5

range(start,stop,krok)

Jeśli do funkcji range przekażemy trzy parametry, to start określi pierwszą liczbę w ciągu, stop określi wartość, po osiągnięciu lub przekroczeniu której generacja się kończy, a krok określi przyrost kolejno generowanych liczb:

range(2,10,2)  : 2 4 6 8
range(1,10,2)  : 1 3 5 7 9
range(5,21,5)  : 5 10 15 20
range(10,0,-1) : 10 9 8 7 6 5 4 3 2 1

Funkcję range wykorzystujemy do tworzenia pętli for w sposób następujący:

for zmienna in range(...): instrukcja

for zmienna in range(...):
    ...
    blok instrukcji
    ...

Instrukcja działa następująco:

Zmiennej w pętli zostają przypisywane kolejne wartości generowane przez funkcję range, po czym wykonywany jest obieg pętli. Pętla kończy się, gdy funkcja range wygeneruje liczbę wykraczającą poza zdefiniowany w niej zakres.

Oto kilka przykładów użycia:

# Przykład 1
n = int(input("n = "))
for i in range(n):
    print(i,end=" ")
print()
# Przykład 2
n = int(input("n = "))
for i in range(1,n,2):
    print(i,end=" ")
print()
# Przykład 3
n = int(input("n = "))
s = 0
for i in range(2,n,2):
    print(i,end=" ")
    s += i
print()
print("s =",s)

do podrozdziału  do strony 

P5

xxx

do podrozdziału  do strony 

P6

xxx

do podrozdziału  do strony 

P7

xxx

do podrozdziału  do strony 

P8

xxx

do podrozdziału  do strony 

P9

xxx

do podrozdziału  do strony 

P10

xxx

do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2026 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.