Pojď zkusit něco nového: zjistit délku čísla stejným způsobem,
jakým jsi zjišťovala délku svého jména.
Zadej len(304023)
a stiskni Enter:
>>> len(304023)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: object of type 'int' has no len()
Zobrazila se ti chyba!
Ta říká, že objekty typu int
(zkratka anglického integer, celé číslo)
nemají délku.
Co můžeš udělat teď?
Možná můžeš zkusit napsat číslo jako řetězec?
Řetězce mají délku, že?
>>> len("304023")
6
Jde to ale i bez uvozovek
Existuje i funkce, která převede číslo na řetězec.
Jmenuje se str
:
>>> str(304023)
"304023"
>>> len(str(304023))
6
Když zadáváš číslo přímo, bude asi příjemnější použít uvozovky.
Funkce str
ale začne být užitečnější až budeš chtít výpočet
čísla přenechat Pythonu:
>>> str(304023 * 12345 * 83845)
'314684030130075'
>>> len(str(304023 * 12345 * 83845))
15
Podobně jako str
převádí na řetězce, funkce int
převádí věci na celá čísla:
>>> int("304023")
Číslo na text můžeš převést vždy, ale naopak to vždy nejde.
Co se stane, když se pokusíš na číslo převést řetězec bez
číslic – třeba 'ahoj'
?