Python — funkce range

Zpět na blog

Python — funkce range

range for reversed append map join f-string

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. |


Líbil se vám článek? Sdílejte ho s ostatními

nebo nám napište něco hezkého. Děkujeme!

Zpět na blog

Úvod do jazyka R

Naučte se efektivní datovou analýzu.

Zobrazit kurz

SQL pro analytiky 2 - pokročilí

Naučte se vytvářet složité dotazy, databázové objekty a používat pokročilé funkce jazyka SQL.

Zobrazit kurz

Pandas - analýza a zpracování dat

Naučte se základy Pandas - pythonovské knihovny, která je standardem pro analýzu a zpracování dat.

Zobrazit kurz

Hledáme další autory

Publikujte na Lovely Blogu a inspirujte ostatní! Sdílením svých znalosti si budujete osobní značku.

Kontaktujte nás

Odběr novinek

Novinky, návody a tipy přímo do vašeho emailu.

Copyright © 2018-2024, Colorbee, s.r.o.

Designed by grafikli.cz in Prague.