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:

pythonlst = [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é:

pythonlst = [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:

pythonfor 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 - '---':

pythonfor el in lst:
  if el < 0:
    isAllPositive = False
    break

if isAllPositive:
  print('+++')
else:
  print('---') # vypíše '---'
Задание 1

Je dán seznam. Ověřte, že všechny jeho prvky jsou kladná čísla.

Задание 2

Je dáno celé číslo. Ověřte, zda je prvočíslem, tedy dělitelné pouze jedničkou a samo sebou.