Práce s příznaky v Pythonu
Příznak - je speciální proměnná,
která může nabývat pouze dvou hodnot:
True nebo False. Pomocí
příznaků lze řešit úlohy, které ověřují
nepřítomnost něčeho: například lze
zkontrolovat, že v seznamu není prvek s
určitou hodnotou.
Pojďme vyřešit následující úlohu: je dán seznam
s čísly, je třeba zkontrolovat, zda jsou všechny prvky
kladné. K tomu nastavíme speciální proměnnou flag,
která bude před začátkem cyklu pravdivá. A
při nalezení záporného čísla v cyklu
změníme její hodnotu na False. Abychom
poznali výsledek kontroly,
vypíšeme proměnnou flag po cyklu
do konzole:
lst = [1, 2, 3, 4, 5]
flag = True
for el in lst:
if el < 0:
flag = False
print(flag) # vypíše True, protože všechna čísla jsou kladná
Dobrou praxí je pojmenování
proměnné s příznakem názvem, který odráží
zadanou podmínku. Přejmenujme flag
na isAllPositive. A pro názornost
změníme jedno číslo v seznamu na záporné:
lst = [1, 2, 3, -4, 5]
isAllPositive = True
for el in lst:
if el < 0:
isAllPositive = False
print(isAllPositive) # vypíše False, protože existuje záporné číslo
Pokud má procházený seznam mnoho hodnot
a je třeba cyklus zastavit po nalezení
prvního záporného čísla, je třeba
použít příkaz break:
for el in lst:
if el < 0:
isAllPositive = False
break
Při práci s příznaky, abychom poznali výsledek
provedení cyklu, můžeme vypsat nikoli hodnotu
příznaku, ale libovolnou zprávu pomocí
dodatečného if.
Přepišme předchozí příklad. Pokud
jsou všechny prvky kladné, ať
se vypíše '+++', pokud ne -
'---':
for el in lst:
if el < 0:
isAllPositive = False
break
if isAllPositive:
print('+++')
else:
print('---') # vypíše '---'
Je dán seznam. Ověřte, že všechny jeho prvky jsou kladná čísla.
Je dáno celé číslo. Ověřte, zda je prvočíslem, tedy dělitelné pouze jedničkou a samo sebou.