Chyby v domácích projektech

Řetězení operátorů v podmínkách a jejich priorita

In [10]:
pc = 'kámen'
c = 'nůžky'
if c == 'kámen' or c == 'nůžky' or c == 'papír' and pc == c:
    print ('plichta')
plichta

Jak to vypadá po vyhodnocení?

In [11]:
False or True or False and False
Out[11]:
True

Což je to samé, jako v matematice

In [12]:
0 + 1 + 0 * 0
Out[12]:
1

Jak tomu tedy pomůžeme? Jako v matematice:

In [13]:
(0 + 1 + 0) * 0
Out[13]:
0

Totéž platí u testu s vyhodnocenými podmínkami

In [14]:
(False or True or False) and False
Out[14]:
False

A tedy i u původního příkladu

In [15]:
pc = 'kámen'
c = 'nůžky'
if (c == 'kámen' or c == 'nůžky' or c == 'papír') and pc == c:
    print ('plichta')

Najdi rozdíl

In [16]:
jmeno = 'Pepa'
if jmeno == 'Pepa':
    print('Vítaj, Chosé!')
else:
    print('Kdo ksakru jsi?')
Vítaj, Chosé!
In [17]:
jmeno = 'Pepa'
if jmeno == 'Pepa':
    print('Vítaj, Chosé!')
else: print('Kdo ksakru jsi?')
Vítaj, Chosé!

Najdi rozdíl 2

In [1]:
print ('Kočky jsou dobrá antistresová terapie.')
Kočky jsou dobrá antistresová terapie.
In [2]:
print('Kočky jsou dobrá antistresová terapie.')
Kočky jsou dobrá antistresová terapie.

Praktické záležitosti

  • Odevzdávejte projekty co nejdříve (nejpozději v úterý večer), usnadníte tím jejich kontrolu
  • Stačí odevzdávat jeden nebo více .py souborů, které si pak mohu spustit a otestovat
  • Pro vysvětlení použíjte komentáře v kódu