Jinak v podobných situacích doporučuju sednout a projít program řádek po
řádku, tak jak ho Python vykonává. Občas se tak chyba dá najít.
(A občas taky ne a je rozumné se zeptat ☺)
On 2020-09-29 16:00, jan kotrba wrote:
...
for pocet_hadani in range(3):
OK, budu opakovat třikrát. Jdu poprvé; do `pocet_hadani_ přiřadím 0 a
pokračuju:
try:
OK, tady bude něco co se nemusí povést.
cislo = int(input("Hádej číslo: "))
OK, vyhodnotím výraz za závorkou a výsledek přiřadím do proměnné.
První vyhodnotím výraz v závorkách čili `input("Hádej číslo: ")`, volání
funkce `input`. Zeptám se tedy uživatele "Hádej číslo: " a počkám si na
odpověd...
... Odpověděl "a", což dosadím místo `input("Hádej číslo: ")`, a
pokračuju ve vyhodnocování výrazu: `int("a")`. Převedu tedy "a" na číslo...
Ale ouvej, to nejde! Nastala chyba, takže přestanu provádět zbytek bloku
`try` a skočím na příslušný `except`.
(pozn. zbytek příkazu, tedy přiřazení do `cislo`, se neprovede – ani
nemůže, není k dispozici žádná hodnota, co by se té proměnné přiřadila.)
except ValueError:
Ten je hned tady! Tak začnu:
print("Tohle není číslo!")
OK, volání funkce `print`; vypíšu `"Tohle není číslo!"`.
Tím blok `except` končí, takže pokračuju dál.
pocet_hadani += 1
K `pocet_hadani` (aktuálně 1) přičtu 1, nová hodnota je tedy 1.
(pozn. tohle není potřeba, postará se o to cyklus `for`.)
if cislo == tajne_cislo:
OK, porovnám hodnotu `cislo` s `tajne_cislo`.
Ale ouvej! Do proměnné `cislo` ještě není nic přiřazené!
A ani nejsem v bloku `try`, tak ukončím program s chybovou hláškou.
--
--
E-mailová skupina [email protected]
Správa: http://groups.google.cz/group/django-cs
---
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny django-cs ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete
e-mail na adresu [email protected].
Chcete-li zobrazit tuto diskusi na webu, navštivte
https://groups.google.com/d/msgid/django-cs/c1f004c0-f9c9-4420-c333-f83a9a789865%40gmail.com.