1.3. Pętle

Informacja

W tym przykładzie poznasz instrukcje iteracyjne, tzw. pętle, pozwalające powtarzać określone operacje.

1.3.1. Zadanie

Napisz program alfabet.py, który wypisze n początkowych małych i dużych liter alfabetu w jednym wierszu w formacie: „mała_litera–duża_litera”.

Dane:

  • n – liczba całkowita oznaczająca liczbę liter do wypisania.

Wynik:

  • wypisane pary małych i dużych liter na ekranie, np. dla n = 5:

a–A b–B c–C d–D e–E
Plik alfabet.pyKod nr
 1n = int(input('Podaj liczbę liter alfabetu do wypisania: '))
 2
 3print("Alfabet w porządku naturalnym:")
 4
 5print('Wersja 1 – for:')
 6for i in range(n):
 7    l_mala = chr(ord('a') + i)
 8    l_duza = chr(ord('A') + i)
 9    print(f'{l_mala}{l_duza}', end=' ')
10print()
11
12print('Wersja 2 - for:')
13for i in range(65, 65+n):
14    l_duza = chr(i)
15    l_mala = chr(i + 32)  # 32 to różnica między kodem ASCII litery dużej i małej
16    print(f'{l_mala}{l_duza}', end=' ')
17print()
18
19print('Wersja 3 – while:')
20i = 0
21while i < n:
22    l_mala = chr(ord('a') + i)
23    l_duza = chr(ord('A') + i)
24    print(f'{l_mala}{l_duza}', end=' ')
25    i += 1
26print()

1.3.2. Pętla for

Liczba wykonań pętli for zależy od liczby elementów sekwencji znajdującej się po słowie kluczowym in. Kolejne elementy sekwencji dostępne są w zmiennej iteracyjnej, w naszym przykładzie ma ona nazwę``i``.

Funkcja range() generuje sekwencje liczb całkowitych, np.:

  • range(n) – zwraca kolejne liczby z zakresu <0, n-1>, pętla wykona się n razy,

  • range(a, b) – zwraca kolejne liczby z zakresu <a, b-1>, pętla wykona się b-a razy,

  • range(a, b, -1) – zwraca malejące liczby z zakresu <a, b>, pętla wykona się a-b razy.

Informacja

Jeżeli chcesz sprawdzić działanie funkcji range() w trybie interaktywnym interpretera, warto tę funkcję wywołać jako argument funkcji list(), która zamienia generowaną sekwencję na listę, np.: list(range(65, 91)).

Inne przykłady sekwencji, których można użyć w pętli for:

  • ciąg znaków, np. abcdefg,

  • lista elementów, np. [2, 4, 6, 8].

1.3.3. Pętla while

Pętla while warunek umożliwia powtarzanie bloku operacji, dopóki warunek jest prawdziwy, w tym przypadku dopóki i < n. Zwróć uwagę, że początkowa wartość 0 zmiennej i jest w pętli zwiększana o 1: i += 1 – aby pętla nie działała w nieskończoność.

1.3.4. Operacje na znakach

Wszystkim znakom przypisane są kody liczbowe, w przypadku 25 liter alfabetu łacińskiego są to kody ASCII. Duże litery mają kody w zakresie <65, 90>, natomiast małe litery w zakresie <97, 122>.

Do wykonywania operacji na znakach służą funkcje i metody typu string:

  • ord(znak) – zwraca kod ASCII podanego znaku,

  • char(kod) – zwraca znak o podanym kodzie.

  • znak(i).upper() – metoda zwraca znak(i) zamienione na duże litery,

  • znak(i).lower() – metoda zwraca znak(i) zamienione na małe litery.

1.3.5. Formatowane wyjście

Jeżeli w wpisywanym komunikacie chcemy umieścić wartości zmiennych lub wyrażeń, najwygodniej używać formatowanych ciągów znakowych (ang. f-strings). Przed cudzysłowami dajemy małą literą f, zmienne lub wyrażenia otaczamy nawiasami klamrowymi, np.:

  • print(f'{l_mala} {l_duza}', end=' ') – dodatkowy argument end pozwala określić znak wstawiany na końcu wypisywanego komunikatu zamiast domyślnego znaku nowego wiersza.

1.3.5.1. Ćw. 1 – odwrócony porządek

Dodaj do programu alfabet.py kod, który wypisze w jednym wierszu n małych i dużych liter zaczynając od końca alfabetu.

Wskazówka

Użyj funkcji range(), która wygeneruje sekwencje malejących kodów ASCII. Możesz również użyć metod .upper() lub .lower().

Pojęcia

pętla, metoda


Licencja Creative Commons Materiały Python 101 udostępniane przez Centrum Edukacji Obywatelskiej na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 4.0 Międzynarodowa.

Utworzony:

2026-05-30 o 19:12 w Sphinx 7.3.7

Autorzy:

Robert Bednarz