Python - podmínky a cykly (2. díl)

Napsal (») 17. 12. 2010 v kategorii Programování, přečteno: 2562×
banan/img/python-logo-glassy.png

Podmínky jsou velice pomocné a postradatelné dá se říct "porovnávací funkce". Tyto funkce jsou velice důležité pro programátora. Je to jedna z nedílných součástí bez niž by nešlo programovat...a tím nemyslím program hello world smile. Podmínky tzv. řídí běh programu. Podmínek existuje vícero druhů a my si je dnes představíme.

Ještě předtím se ale zastavíme u logických operátorů, které se v podmínkách a cyklech používají. Jejich výčet je uveden v následující tabulce s krátkým popisem.

Příkaz if a elif

jedná se o příkaz, který umožňuje program větvit do dvou větví na základě logické hodnoty výrazu. Tyto výrazy mohou nabývat dvou stavů – pravda/nepravda. K vyjádření těchto výrazů používáme následující operátory:

A == B Podmínka je splněna, pokud se A rovná B.
A != B Podmínka je splněna, pokud se A nerovná B.
A < B Podmínka je splněna, pokud je A menší než B.
A > B Podmínka je splněna, pokud je A větší než B.
A <= B Podmínka je splněna, pokud je A menší, nebo rovno než B.
A >= B Podmínka je splněna, pokud je A větší, nebo rovno než B.

Samotná podmínka může nabývat pouze 2 hodnot. Pravda nebo Nepravda. Buď je něco pravdivé nebo ne. Nemůže se tedy stát, že nabude hodnoty 'nevim' nebo '10'.

Podmínka if vypadá v praxi takto:

if x>y: #když x je větší než y tak...
...print "X je větší než Y" #tohle vytiskni
else: #když to je jinak
...print "Y je větší než X" #tak vytiskni tohle

Když chceme aby podmínek bylo více, použijeme příkaz elif...

if x>y:
...print "X je větší než Y"
elif x<6:
...print "X jemenší než 6"
elif y<6:
...print "Y je menší než 6"
else x=y
...print "X je stejné jako Y"

Podmínky můžeme také jako v jakémkoli prostředí větvit. V praxi to vypadá takto:

if x ? y:
...if x ? y:
......print "ahoj"

Cykly

Potřebujeme například "vytisknout" na obrazovku čísla od 1 do 100 tak je nebudeme přeci vypisovat ale zřídíme pro ně cyklus. Každý cyklus má podmínku, některý však na konci a některý na začátku. Prvně si řekneme o cyklu for s podmínkou na začátku. Nyní si ukážeme použití cyklu for na příkladu.

tělo:

for i in seznam:
telo bloku
telo bloku

for i in range(2):	
...     print 'a',
...     print 'b',
...
a b a b

Cyklus while

tělo:

while podminka:
telo bloku
telo bloku

Cyklus while provádí blok za dvojtečkou tak dlouho, dokud je podmínka pravdivá.

>>> i=0
>>> while range(10)[i] < 5:
... print range(10)[i],
... i = i+1
...
0 1 2 3 4 #Cyklus se porvede 5x

Děkuji za pozornost a doufám, že Vás tyto články vedou úspěšně dále :)

Štítky: Python
Hodnocení:     nejlepší   1 2 3 4 5   odpad
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
| 22.1.2011 08:24
Neměly by tam být ty tečky jen print 'a',. Otazník znamená, že tam může být jakýkoli operátor porovnávání- <>= apod.
Knahaka z IP 178.105.143.*** | 22.1.2011 00:26
Ahoj,

co znamena otaznik?
Knahaka z IP 178.105.143.*** | 22.1.2011 00:24
Ahoj,

nefunguje to:

>>> for i in range(2):
... print 'a',
  File "<stdin>", line 2
    print 'a',
        ^
IndentationError: expected an indented block


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel dvě a sedm