Kódím.cz
4

Vstup a výstup

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

Čtení na doma

Pokud bychom z jakéhokoliv důvodu nechtěli použít f-stringy, můžeme jednotlivé informace oddělit čá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č.")

Volitelné parametry funkce print()

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.

Vstup sep je argumentem funkce, který zapisujeme spolu se jménem. Mezi jméno argumentu a jeho hodnotu vkládáme =. Bez toho by Python nedokázal odlišit, co je oddělovač a co je jen další řetězec k vypsání na obrazovku.

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

Dalším užitečným volitelným argumentem funkce print() je end, kterým se nastavuje, jak se má výpis funkcí print() ukončit. Ve výchozím nastavení je to znak nového řádku end='\n', ale toto chování můžeme upravit, aby nám například šlo vypsat více volání funkce print() na jeden řádek.

print("hurá", end="! ")
print("hurá", end="! ")
print("hurá", end="! ")
print()

Tento program vypíše vše na jeden řádek. Prázdný print() vypíše své výchozí ukončení, tj. nový řádek.

hurá! hurá! hurá!

Převod na řetězec

Poslední 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č.")