11. diel - Cyklus while v Pythone
V predchádzajúcej lekcii, Cyklus for v Pythone, sme sa zaoberali cyklom
for a vytvorili sme program na malú násobilku a mocninátor.
V dnešnej lekcii Pythonu sa najskôr naučíme používať cyklus
while a potom vylepšíme program kalkulačky.
Cyklus while
Cyklus while funguje trochu inak ako cyklus for.
Jednoducho opakuje príkazy v bloku, kým platí podmienka. Syntax cyklu je
takáto:
while (condition): # commands
Pokiaľ vás napadá, že prostredníctvom cyklu while je
možné urobiť aj cyklus for, máte pravdu
Cyklus for je vlastne
špeciálny prípad cyklu while. Cyklus
while sa ale používa na trochu iné veci, pretože v jeho
podmienke často máme napr. metódu vracajúcu logickú
hodnotu True / False.
Príklady použitia cyklu
Poďme si urobiť niekoľko jednoduchých príkladov na precvičenie cyklu
while.
Rad
Pomocou cyklu while by sme urobili číselný rad takto:
i = 1
while i <= 10:
print(i, end = " ")
i += 1
To ale nie je ideálne použitie cyklu
while.
Kalkulačka
Ako ďalší príklad si vezmeme našu kalkulačku z predchádzajúcich
lekcií. Opäť ju trochu vylepšíme, konkrétne o možnosť zadať viac
príkladov. Program teda hneď neskončí, ale spýta sa používateľa, či si
praje spočítať ďalší príklad. Pripomeňme si pôvodnú verziu kódu (teda
tu s konštrukciou match, ale pokojne môžeme použiť aj verziu
bez tejto konštrukcie, záleží na nás):
print("Welcome to calculator!")
a = float(input("Enter first number: "))
b = float(input("Enter second number: "))
print("Choose one of the following operations: ")
print("1 - addition")
print("2 - subtraction")
print("3 - multiplication")
print("4 - division")
option = int(input())
result = 0.0
match option:
case 1:
result = a + b
case 2:
result = a - b
case 3:
result = a * b
case 4:
if b != 0:
result = a / b
else:
print("Division by zero is not allowed!")
result = "N/A"
if option > 0 and option < 5:
print(f"Result: {result}")
else:
print("Invalid option")
print("Thank you for using calculator.")
Teraz vložíme takmer celý kód do cyklu while. Našou
podmienkou bude, že používateľ zadá yes. Budeme teda
kontrolovať obsah premennej goOn. Spočiatku bude táto premenná
nastavená na yes, aby sa program vôbec spustil. Potom do
premennej necháme načítať používateľovu voľbu:
print("Welcome to calculator!") goOn= "yes" while (goOn== "yes"): a = float(input("Enter first number: ")) b = float(input("Enter second number: ")) print("Choose one of the following operations: ") print("1 - addition") print("2 - subtraction") print("3 - multiplication") print("4 - division") option = int(input()) result = 0.0 match option: case 1: result = a + b case 2: result = a - b case 3: result = a * b case 4: if b != 0: result = a / b else: print("Division by zero is not allowed!") result = "N/A" if option > 0 and option < 5: print(f"Result: {result}") else: print("Invalid option") goOn = input("Would you like to make another calculation? [yes/no]: ") print("Thank you for using calculator.")
Výstup programu:
Calculator enhancement:
Welcome to calculator!
Enter first number: 12
Enter second number: 128
Choose one of the following operations:
1 - addition
2 - subtraction
3 - multiplication
4 - division
1
Result: 140
Would you like to make another calculation? [yes/no]: yes
Enter first number: -10,5
Enter second number:
Našu aplikáciu je možné teraz používať viackrát a je už takmer
hotová. Už toho vieme celkom dosť, začína to byť zábava, však? 
V nasledujúcom cvičení, Riešené úlohy k 10.-11. lekcii Pythonu, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 47x (1.45 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Python
