2. cvičení

  • Print a chybové hlášky
  • Konvence a komentáře
  • Proměnné
  • Datové typy
  • Načítání vstupu
  • Porovnání
  • Podmíněné příkazy

Dotazník

Pokud jste tak neučinili na cvičení, prosíme Vás o vyplnění krátkého dotazníku. Jeho vyplněním nám pomůžete lépe porozumět Vašim představám o přínosu studia na Fakultě aplikovaných věd a připravit tak lepší a přínosnější studium pro Vás a především Vaše nástupce.

Pro vyplnění dotazníku musíte být přihlášeni pomocí google autentikace s přihlašovacím jménem @gapps.zcu.cz, případné heslo se shoduje s Vaším heslem do orionu. Pokud dotazník píše, že potřebujete oprávnění, jste pravděpodobně přihlášeni do googlu pod jiným jménem. Zkuste otevřít nové anonymní okno a přihlásit se na portál.

Dotazník

Python: 1. úloha

Zadání

Vytvoř v IDE Thonny nový soubor, ulož ho na "Plochu" pod jménem ZPD1t02print.py a napiš do něj následující příkazy:

Použijte Thonny IDE.

Řešení


Výstup po spuštění v Thonny IDE


Někdy se stane, že program, který napíšeš doma či na cvičeních, nebude fungovat hned napoprvé. Instrukce musíš psát přesně podle pravidel jazyka Python, neumí si domyslet, co po něm chceš. Klíčové je vědět, jak chybu najít a k tomu Vám pomůžou chybové výpisy. Třeba zapomenete na apostrofy u řetězce pro funkci print a po spuštění se zobrazí chyba uvedená výše. Potom musíte opravit program a to konkrétně poslední řádku přidání apostrofů->print('Za každý úkol dostanete 2 body.')

Spuštění v příkazové řádce


Zdrojový kód

ZPD1t02print.py

Finální vysvětlení

Co všechno náš program obsahuje?

Slovo print, který jsem použili, je funkce. Funkce budeme probírat později, teď stačí vědět, že při napsání print a za to do závorky několik výrazů (angl. expressions) oddělených čárkou, hodnoty těchto výrazů se vypíšou. A co že je ten výraz? V našem programu máš několik příkladů: výraz je číslo, řetězec nebo nějaká (třeba matematická) operace složená z více výrazů. Třeba výraz 4 + 6 sečítá výrazy 4 a 6. Až budeme probírat proměnný, tak se na výrazy a jejich hodnoty podíváme podrobněji.


Python: 2. úloha

Zadání

Vytvoř v IDE Thonny nový program, který vypočítá obsah a obvod čtverce se stranou 100 cm. Program ulož na "Plochu" pod jménem ZPD1t02obvod.py.

Použijte Thonny IDE.

Řešení


Výstup po spuštění v Thonny IDE


Spuštění v příkazové řádce


Zdrojový kód

ZPD1t02obvod.py

Konvence a komentáře


Pokud píšeš komentář na stejný řádek jako zdrojový kód, je zvykem před # dát dvě mezery (nebo i víc). Za # pak patří právě jedna.

Před i za + po dejte po jedné mezeře.

Proměnné (angl. variables)

Pokud budeš chtít napsat program pro výpočet obvodu a obsahu u čtverce, který bude přijímat od uživatele větší množství stran, musíš stranu čtverce pojmenovat a potom používáš pouze její jméno. V Pythonu na pojmenovávání hodnot slouží proměnné. Používají se takto:


Datové typy

Python používá mnoho přirozených datových typů. Níže jsou uvedeny ty hlavní.

Tab. 1: Hlavní datové typy Zdroj: http://diveintopython3.py.cz/native-datatypes.html
Datový typ Popis
Čísla mohou být celá (integer; např. 2 a 4), reálná (float; např. 2.1 a 2.2), zlomky (fraction; 1/3 a 1/5), nebo dokonce čísla komplexní
Boolean nabývá hodnoty buď True nebo False
Řetězce jsou posloupnosti Unicode znaků. Tuto podobu může mít například html dokument.
Bajty a pole bajtů např. soubor s obrázkem ve formátu PNG
Seznamy jsou uspořádané posloupnosti hodnot
N-tice jsou uspořádané, neměnné posloupnosti hodnot
Množiny jsou neuspořádané kolekce hodnot
Slovníky jsou neuspořádané kolekce dvojic klíč-hodnota


Načítání vstupu

Pro načítání vstupu použijeme funkce input():

- načtení řetezce (text): promenna = input('Zadej řetězec: ')

- načtení celého čísla: promenna = int(input('Zadej číslo: '))

- načtení desetinného čísla: promenna = float(input('Zadej číslo: '))



Porovnání

Symbol Příklad Popis
+, -, *, /  2 * 2 Základní aritmetika
- -5 Negace
//;% 5 // 2;5 % 2 Dělení se zbytkem (celočíselné dělení); zbytek
** 3 ** 2 Umocnění (3 na druhou)
==, != 2 == 2, 2!=2 Je rovno, není rovno
<, > 2 < 7, 2 > 7 Větší než, menší než
<=, >= 1 <= 7, 1>=7  Větší nebo rovno, menší nebo rovno

Hodnoty porovnání jsou takzvané booleovské hodnoty (angl. boolean). V Pythonu se používají vždy, když potřebujeme vědět, jestli něco platí nebo neplatí. Jsou pouze dvě - máme True (pravda), nebo False (nepravda).

Hodnoty, True a False můžete přiřazovat do proměnných:



Podmíněné příkazy (angl. condition)

Při kontrole kladného vstupu od uživatele můžeme využít podmíněný příkaz if po kterém následuje podmínka, což je výraz, podle kterého se budeme rozhodovat. Za podmínkou je dvojtečka. Potom následují příkazy, které se provedou, pokud je podmínka pravdivá. Všechny jsou odsazeny o čtyři mezery. Po téhle části stačí napsat neodsazené else:, zase s dvojtečkou na konci, a odsazené příkazy, které se provedou v opačném případě. Potom můžeš psát příkazy, které se provedou vždycky - ty odsazené nebudou, podmíněná část programu už skončila.


Další podmíněné příkazy



Studijní materiály

Heineman G., Pollice G., Selkow S., Algorithms in a Nutshell , O'Reilly, USA 2008

Lutz, Mark, Learning Python , Sebastopol : O'Reilly 2009

Pilgrim, Mark, Ponořme se do Python(u) 3 , Edice CZ.NIC 2010

Beazley, David M.; Jones, Brian K., Python cookbook , Sebastopol : O'Reilly 2013

Summerfield, Mark, Python 3 : výukový kurz , Brno : Computer Press 2010

Pokud se zajímáte o Python více napište mi na email níže :)

Něco málo o mě

Jsem správcem neuroinformatické laboratoře na Západočeské univerzitě na Katedře informatiky a inženýrství. V rámci ZČU jsem pracoval na několika projektech (sémantický web v EEG / ERP portálu, OEN ontologie, vývojová koordinační porucha u dětí, kontrola pozornosti řidiče, analýza EEG u myší, asistenční systém řízený mozkovými vlnami pro osoby se sníženou pohyblivostí, BodyInNumbers).

Kontakt

Ing. Petr Brůha
Technická 8,
Plzeň, 30100, Česká republika
E: pbruha@kiv.zcu.cz
P: +420 377 63 2412
M: UN 324

Konzultační hodiny

Budova FAV, sekce NTIS, kancelář UN324

Po: 11:10-11:55

St: 16:40-17:25