Lekce 11 - Cyklus while v Pythonu
V minulé lekci, Cyklus for v Pythonu, jsme se zabývali cyklem for a
vytvořili jsme program na malou násobilku a mocninátor.
V dnešním Python tutoriálu se nejprve naučíme používat cyklus
while a poté vylepšíme program kalkulačky.
Cyklus while
Cyklus while funguje trochu jinak než cyklus for.
Jednoduše opakuje příkazy v bloku, dokud platí podmínka. Syntaxe cyklu je
následující:
while (podminka): # blok příkazů
Pokud vás napadá, že prostřednictvím cyklu while lze
udělat i cyklus for, máte pravdu
Cyklus for je vlastně
speciální případ cyklu while. Cyklus
while se ale používá na trochu jiné věci, neboť v jeho
podmínce často máme např. metodu vracející logickou
hodnotu True/False.
Příklady použití cyklu
Pojďme si udělat několik jednoduchých příkladů na procvičení cyklu
while.
Řada
Pomocí cyklu while bychom udělali číselnou řadu
následovně:
i = 1
while i <= 10:
print(i, end=" ")
i += 1
To ale není ideální použití cyklu
while.
Kalkulačka
Jako další příklad si vezmeme naši kalkulačku z minulých lekcí. Opět
ji trochu vylepšíme, konkrétně o možnost zadat více příkladů. Program
tedy hned neskončí, ale zeptá se uživatele, zda si přeje spočítat další
příklad. Připomeňme si původní verzi kódu (tedy tu s konstrukcí
match, ale klidně můžeme použít i verzi bez této konstrukce,
záleží na nás):
print("Vítejte v kalkulačce")
a = float(input("Zadejte první číslo:"))
b = float(input("Zadejte druhé číslo:"))
print("Zvolte si operaci:")
print("1 - sčítání")
print("2 - odčítání")
print("3 - násobení")
print("4 - dělení")
volba = int(input())
vysledek = 0.0
match volba:
case 1:
vysledek = a + b
case 2:
vysledek = a - b
case 3:
vysledek = a * b
case 4:
if b != 0:
vysledek = a / b
else:
print("Nulou nelze dělit!")
vysledek = "N/A"
if volba > 0 and volba < 5:
print(f"Výsledek: {vysledek}")
else:
print("Neplatná volba")
print("Děkuji za použití kalkulačky, aplikaci ukončíte libovolnou klávesou.")
Nyní vložíme téměř celý kód do cyklu while. Naší
podmínkou bude, že uživatel zadá ano. Budeme tedy kontrolovat
obsah proměnné pokracovat. Zpočátku bude tato proměnná
nastavena na ano, aby se program vůbec spustil. Poté do
proměnné necháme načíst uživatelovu volbu:
print("Vítejte v kalkulačce") pokracovat= "ano" while (pokracovat== "ano"): a = float(input("Zadejte první číslo:")) b = float(input("Zadejte druhé číslo:")) print("Zvolte si operaci:") print("1 - sčítání") print("2 - odčítání") print("3 - násobení") print("4 - dělení") volba = int(input()) vysledek = 0.0 match volba: case 1: vysledek = a + b case 2: vysledek = a - b case 3: vysledek = a * b case 4: if b != 0: vysledek = a / b else: print("Nulou nelze dělit!") vysledek = "N/A" if volba > 0 and volba < 5: print(f"Výsledek: {vysledek}") else: print("Neplatná volba") pokracovat = input("Přejete si zadat další příklad? [ano/ne]: ") print("Děkuji za použití kalkulačky, aplikaci ukončíte libovolnou klávesou.")
Výstup programu:
Vylepšení kalkulačky:
Vítejte v kalkulačce
Zadejte první číslo: 12
Zadejte druhé číslo: 128
Zvolte si operaci:
1 - sčítání
2 - odčítání
3 - násobení
4 - dělení
1
Výsledek: 140
Přejete si zadat další příklad? [ano/ne]: ano
Zadejte první číslo: -10,5
Zadejte druhé číslo:
Naši aplikaci lze nyní používat vícekrát a je již téměř hotová.
Již toho umíme docela dost, začíná to být zábava, že? 
V následujícím cvičení, Řešené úlohy k 10.-11. lekci Pythonu, si procvičíme nabyté zkušenosti z předchozích lekcí.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 269x (1.89 kB)
Aplikace je včetně zdrojových kódů v jazyce Python
