
Python — funkce range
Python funkce range generuje sekvenci celých čísel (integer). Může mít jeden, dva nebo tři parametry.
Pro začátečníky v Pythonu může být matoucí, že parametr start počáteční číslo zahrnuje (inclusive), kdežto parametr stop konečné číslo nezahrnuje (exclusive). Vzhledem k tomu, že tato logika prostupuje celým Python, tak si nakonec zvyknou.
Třetí parametr step může být kladné nebo záporné číslo, které je přičteno ke každému vygenerovanému číslu.
Projděte si následující příklady, které vydají za tisíc slov.
Jeden parametr - stop
Vygeneruje čísla od 0 až do 4 (stop - 1).
# stop = 5
for cislo in range(5):
print(cislo)
0
1
2
3
4
Dva parametry - start, stop
Vygeneruje čísla od 1 až do 4 (stop - 1).
# start = 1, stop = 5
for cislo in range(1, 5):
print(cislo)
1
2
3
4
Tři parametry - start, stop, step
Vygeneruje čísla mezi 1 až 4. Ke každému přičte 2.
# start = 1, stop = 5, step = 2
for cislo in range(1, 5, 2):
print(cislo)
1
3
Sestupný range
Čísla mohou být generována i "obráceně", tedy sestupně.
for cislo in range(5, 0, -1):
print(cislo)
5
4
3
2
1
Pythonický sestupný range
"Pythonista" by předchozí příklad zapsal spíše s použitím funkce reversed. Je to přehlednější.
for cislo in reversed(range(1,6)):
print(cislo)
5
4
3
2
1
Příklady
Příklad 1
Vypište všechna sudá čísla do 10.
# Využijeme f-string
for cislo in range(2, 11, 2):
print(f"Sudé číslo: {cislo}")
Sudé číslo: 2
Sudé číslo: 4
Sudé číslo: 6
Sudé číslo: 8
Sudé číslo: 10
Příklad 2
Vypište všechna lichá čísla do 10.
for cislo in range(1, 11, 2):
print(f"Liché číslo: {cislo}")
Liché číslo: 1
Liché číslo: 3
Liché číslo: 5
Liché číslo: 7
Liché číslo: 9
Příklad 3
Vypište do jednoho řádku čísla 1-5 nejdřív vzestupně a pak sestupně.
Očekáváný výsledek: 1,2,3,4,5,5,4,3,2,1
Zkuste přijít na řešení úkolu sami. Pokud nevíte, podívejte se na jeden ze způsobů řešení.
Řešení příkladu 3
Krok 1
Uložíme seznam čísel do listu.
rozsah = range(1, 6)
seznam_cisel = list()
for cislo in rozsah:
seznam_cisel.append(cislo)
for cislo in reversed(rozsah):
seznam_cisel.append(cislo)
Krok 2
Použijeme join, abychom spojili všechny elementy do jednoho stringu, kde jsou hodnoty odděleny čárkou. Nezapomene také převést všechna čísla na string pomocí funkce map.
vysledek = ','.join(map(str, seznam_cisel))
print(f"Výsledek: {vysledek}")
Výsledek: 1,2,3,4,5,5,4,3,2,1
Použité funkce a příkazy Pythonu
V tomto článku jsme použili následující funkce a příkazy Pythonu:
| Funkce | Info |
|---|---|
range | Generuje řadu celých čísel — dokumentace Pythonu. |
for | Smyčka - průchod jednotlivými elementy — dokumentace Pythonu. |
reversed | Obrátí pořadí řady — dokumentace Pythonu. |
append | Přidá element na konec pole — dokumentace Pythonu. |
map | Použije funkci na všechny elementy — dokumentace Pythonu. |
join | Spojí elementy do stringu — dokumentace Pythonu. |
f-string | Přehlednější formátování stringů — dokumentace Pythonu. |
Mohlo by vás zajímat
Blog

Marimo: je nyní vytváření datových aplikací snazší?

Vibe analytics: rychlejší než specializované nástroje?

Jak lidé skutečně používají ChatGPT
Data Apps

Převod textu na řeč

IP detektiv

Odstraňovač EXIF metadat
Kurzy

Datová gramotnost pro každého

Statistika v Excelu. Krok za krokem.

Python pro každý den

Python - základy

IT je taky pro holky!


