Znaky textu
Text není seznam, ale v něčem se mu podobá. Každý znak textu má svůj index, počítaný od 0, a můžete ho přečíst pomocí hranatých závorek. Fungují i záporné indexy:
jazyk = "Python"
print(jazyk[0])
print(jazyk[1])
print(jazyk[-1])Program vypíše:
P
y
nFunkce len() funguje i pro text: dá vám počet jeho znaků. Znaky jsou i mezery a interpunkce, takže "Ahoj, Tome!" má 11 znaků:
print(len(jazyk))
print(len("Ahoj, Tome!"))Program vypíše:
6
11Stejně jako u seznamu skončí chybou i čtení za koncem textu, tentokrát IndexError: string index out of range.
Jeden velký rozdíl tu ale je: znak textu změnit nemůžete. Jednou vytvořený text už zůstane takový, jaký je:
jazyk = "Python"
jazyk[0] = "J"Program skončí touto chybou:
Traceback (most recent call last):
File "<exec>", line 2, in <module>
TypeError: 'str' object does not support item assignmentstr je název, kterým Python označuje text (znáte ho z funkce str()), a item assignment znamená přiřazení do prvku podle indexu. Hláška tedy říká, že text to neumožňuje. Když potřebujete jiný text, vytvořte nový, třeba pomocí + nebo f-řetězce, a uložte ho do proměnné.
Jak psát:
Pokyny
Vytvořte proměnnou prvni_znak s prvním znakem textu jmeno.
Vytvořte proměnnou posledni_znak s posledním znakem textu jmeno. Použijte záporný index.
Vypište oba znaky a délku jména: print(prvni_znak, posledni_znak, len(jmeno)). Ve výpisu by se mělo objevit J v 8.
Začněte programovat zdarma
11/12