4.4 Cykly
Často je potřeba, aby se určitá část programu opakovala. Takovou část programu nazýváme cyklus.
Rozlišují se dva typy cyklů:
- cyklus while , kdy předem nevíme, kolikrát se bude cyklus opakovat
- cyklus for , kdy dopředu víme, že cyklus musí proběhnout n krát
Cyklus while
Cyklus while používáme, jestliže o počtu opakování cyklu rozhoduje např. uživatel programu.
Syntaxe:
while podmínka :
Příkazy, které se mají provést opakovaně
musí být zapsány na řádky odsazené 4 mezerami.
Další řádek programu s příkazem
...
Práce programu s cyklem while:
1) Vyhodnotí podmínku za while, zda platí (True) nebo neplatí (False). Pokud pdmínka obsahuje proměnnou, hodnota do této proměnné musí být vložena před začátkem cyklu.
2) Jestliže podmínka platí (True), provede vnořené příkazy v těle podmínky a pak se vratí zpět ke kroku 1.
3) Jestliže podmínka neplatí (False), opustí cyklus while a pokračuje dalším příkazem.
Příklad:
print("Výpočet druhé mocniny")
pokracuj = "a"
while pokracuj == "a":
x = float(input("napiš číslo: "))
xx = x * x
x = str(x)
xx = str(xx)
print("Druhá mocnina čísla", x, "je", xx)
pokracuj = input("Jestli chceš zadat další číslo, napiš a: ")
print() # vloží prázdný řádek
print("Až budeš potřebovat najít další mocninu, jsem ti k službám!")
input()
Cyklus for
For cyklus se používá pro předem známý počet opakování cyklu.
Počet opakování cyku je zadán
- buď pomocí seznamu [ ], což je výčet hodnot proměnné uzavřený v hranatých závorkách,
- nebo je počet opakování definován pomocí finkce range().
Syntaxe s použitím seznamu:
1) nejdříve se definuje seznam, tj. výčet hodnot proměnných:
nazev_seznamu = [hodnoty seznamu oddělené čárkou, uzavřené do hranatých závorek]
2) zápis vlastního for cyklu:
for proměnná, která postupně nabývá hodnot ze seznamu in nazev_seznamu :
Příklad:
kamaradi = ["Pepa", "Lojza", "Ferda"]
print("Moji kamarádi jsou: "
for x in kamaradi:
print(x)
print("... a ještě pár dalších.")
Syntaxe s použitím funkce range():
1) Význam a syntaxe funkce range()
range(n) - vrátí čísla od nuly do n-1
range(4) vrátí čísla: 0, 1, 2, 3, tj. celkem 4 čísla počínaje od nuly
range(m, n) - vrátí čísla od m do n-1
range(3, 8) vrátí čísla: 3, 4, 5, 6, 7
range(m, n, i) - vrátí čísla od m a každé další i-té číslo do n-1
range(5, 16, 3) vrátí čísla 5, 8, 11, 14
2) zápis vlastního for cyklu:
for
for proměnná, která postupně nabývá hodnot z range in range() :
Příklad:
opak = int(input("Zvol si velikost funkce range(): "))
for x in range(opak):
print("Načtená hodnota range() v tomto cyklu je", x)
print("Funkce range() již další hodnotu neposkytla.")
školní facebook
školní instagram































