NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Alexandr Saveljev:29.5.2023 8:22

Dobrý den!
Jsem uživatelem kurzu Základní konstrukce Python
V testu Krátký test Python - Proměnné, podmínky, datové typy
Zdroj: https://www.itnetwork.cz/…-typy-python
Udělal jsem chybu:

  1. Vyber NEPLATNOU podmínku:

Neplatnou musí být: if vstup = 1:
Moje chyba je: if vstup is 1:

Pomozte prosím pochopit důvod ze kterého „if vstup = 1:“ je neplatnou podmínkou?
Předem děkuji!
Alexandr Saveljev.

Zkusil jsem: Přečetl jsem tutoriály, podival jsem se na Internetu.

Chci docílit: Pochopit scénář.

 
Odpovědět
29.5.2023 8:22
Avatar
Pavel
Člen
Avatar
Odpovídá na Alexandr Saveljev
Pavel:29.5.2023 18:44

Správně není ani jedno, správně je

if vstup == 1:

Pokud by sis to zkusil napsat a spustit, tak:

if vstup is 1:
#produkuje chybu, SyntaxError: "is" with a literal. Did you mean "=="?

Ta je celkem hezké vysvětlení Why does Python log a SyntaxWarning for ‘is’ with literals?

 
Nahoru Odpovědět
29.5.2023 18:44
Avatar
Odpovídá na Pavel
Alexandr Saveljev:29.5.2023 19:18

Především děkuji za vysvětlení! Teď rozumím.
Ohledně "is" - v testu je tato možnost označena platná.
Mějte se!

 
Nahoru Odpovědět
29.5.2023 19:18
Avatar
Pavel
Člen
Avatar
Odpovídá na Alexandr Saveljev
Pavel:29.5.2023 19:21

Patrně je to test na velmi starou verzi Pythonu.

 
Nahoru Odpovědět
29.5.2023 19:21
Avatar
Pavel
Člen
Avatar
Pavel:29.5.2023 19:33

Ta chyba s is byla v poprvé v Pyhonu 3.8 jako upozornění, současná verze už to bere jako chybu. ten test je správně, ale pro starší Python. Je pro doplnění:

# toto je ok
a = 1
b = 1
if a is b:
    print("A je B")
# toto také
a = 1
b = 1.0
if a is b:
    print("A je B")
if a == b:
    print("A je B")
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
29.5.2023 19:33
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.