Vstup a výstup

Vstup a výstup potřebujeme aby program dokázal komunikovat s uživatelem.

Čtení z terminálu

Náš program zatím umí převést na koruny pouze cenu lístku. Uvažujme ale, že vytváříme program pro směnárnu, který by měl umět převést libovolnou částku dle přání zákazníka. Náš program by se tedy měl na začátku zeptat uživatele, jaká částka má být převedena. K tomu slouží funkce input(). Jako vstup zadáme zprávu, která se má zobrazit uživateli, aby věděl, jakou informaci program očekává.

Důležité je, že funkce input() vždy vrací hodnotu vloženou uživatelem jako typ řetězec, a to i v případě, že uživatel zadal pouze čísla. Na číslo musíme hodnotu převést. K tomu využijeme funkci int(), která nemění hodnotu vstupu, ale mění typ hodnoty, v tomto případě převádí řetězec na celé číslo.

kurz = 25
euro = input("Zadej počet euro: ")
euro = int(euro)
cena = euro * kurz

Komentáře

K využití funkcí můžeme přidat vysvětlující poznámku, kterou označujeme jako komentář. Komentář je řádka programu, která má programátorům pomoci se v programu zorientovat a při samotném spuštění ji Python ignoruje. Komentář začítáme symbolem # a za něj můžeme napsat cokoli.

kurz = 25
# Získávám hodnotu od uživatele
euro = input("Zadej počet euro: ")
# Je potřeba převést řetězec na číslo
euro = int(euro)
cena = euro * kurz

Složitější výpis

Tento program sice výsledek spočítá, ale nevypíše. K vypsání můžeme použít funkci print(). Ve výpisu potřebujeme zkombinovat vysvětlující text a peněžní částku. Jednotlivé informace oddělíme čárkami. Funkce print() je spojí dohromady do jednoho textu a oddělí mezerami, ty tedy nemusíme do výpisu přidávat.

print("Cena je", cena, "Kč.")

Pokud by nám toto chování nevyhovovalo a chceme si o mezerách rozhodnout sami, můžeme použít vstup sep (od anglického slova separatoroddělovač). Ten musíme napsat i se jménem a vždy až na konec, aby funkce věděla, že se nejedná o další text k vypsání. Nyní již musíme mezery přidat do řetězců v uvozovkách, aby se ve výpisu objevily.

print("Cena je ", cena, " Kč.", sep="")

Převod na řetězec

Další možností, jak výpis provést, je použití operátorů + pro spojení více řetězců dohromady. Musíme ale myslet na to, že proměnná cena je typ číslo. Nyní tedy musíme provést obrácenou operaci, než jsou dělá funkce int(), a to je převod čísla na řetězec. K převodu slouží funkce str(). Jakmile máme všechny hodnoty převedené na řetězec, můžeme je spojit dohromady pomocí +.

cena = str(cena)
print("Cena je " + cena + " Kč.")

Oba řádky je možné spojit do jednoho a provést převod na řetězec uvnitř funkce print(). Pokud ti ale tento zápis připadá příliš složitý, není vůbec problém nechat jej rozdělený na dva řádky.

print("Cena je " + str(cena) + " Kč.")