Procvičení řetězců. Měj při ruce tahák!
Napiš program, který se zeptá na dva řetězce a zjistí, jestli je ten první obsažen v tom druhém. Nebere přitom ohled na velikost písmen.
Najdi si na internetu text své oblíbené písně, zkopíruj si ho do řetězce a zjisti, kolikrát je v něm použito písmeno K. (Ať už velké, nebo malé.)
Text by mělo jít jednoduše vyměnit za jiný.
Zjisti, kolik je v textu tvé oblíbené písně písmen. Nepočítej mezery, znaky nového řádku a znaky
!"#$%&\'()*+,-./:;<=>?@[\]^_{|}~
.
Text písně by mělo jít jednoduše vyměnit za jiný.
Postup:
!
"
#
$
%
&
…:Napiš program, který přijme od uživatele řetězec a zjistí, jestli je zadaný řetězec palindrom.
Pokud ano, program vypíše "Je palindrom". Pokud není, program vypíše "Není palindrom".
Napiš program, který bude umět přepsat světovou stranu (např. východ
, západ
, severozápad
,
jihovýchod
) na jeho zkratku. Použij k tomu řetězcové metody a subscripting. Nezapomeň ošetřit
uživatelský vstup.
Příklad:
"východ" -> "V"
"západ" -> "Z"
"severovýchod" -> "SV"
"jihozápad" -> "JZ"
Napiš program, který bude převádět řetězec zadaný uživatelem z formátu Camel case na formát Snake case.
Víceslovný název, kde jsou jednotlivá slova oddělená velkým písmenem, tak převede na víceslovný název, kde jsou slova oddělena podtržítkem, a kde jsou všechny znaky malé.
Příklad:
"JanNovak" -> "jan_novak"
"MojeNoveAuto" -> "moje_nove_auto"
"Vesnice" -> "vesnice"
Nápověda: Pro rozpoznání, zdali je znak velkým písmenem, můžeš použít metodu řetězců
isupper
.
Napiš program, který se uživatele zeptá na nějakou otázku, na kterou lze odpovědět pomocí ANO/NE. Program se na otázku bude ptát neustále dokola, dokud uživatel nezadá odpověď, která bude reprezentovat buď ANO nebo NE.
Odpověď může být zadána v malých či velkých písmenech (či jejich kombinaci). Na začátku či konci odpovědi mohou být mezery. A lze také zadat libovolně zkrácenou variantu ANO či NE, nesmí se však jednat o prázdný řetězec (aby šlo odlišit kladnou a zápornou odpověď).
Jakmile uživatel zadá odpověď ve správném formátu, program vypíše 1
, pokud uživatel odpověděl
kladně, nebo 0
, pokud uživatel odpověděl záporně.
Příklad:
"ano" -> výstup "1"
"an" -> výstup "1"
"a" -> výstup "1"
"AnO" -> výstup "1"
"ne" -> výstup "0"
"nE" -> výstup "0"
" ne" -> výstup "0"
"ne " -> výstup "0"
" ano " -> výstup "1"
"a no" -> zeptat se znovu
"" -> zeptat se znovu
"e" -> zeptat se znovu
"jo" -> zeptat se znovu
"pes" -> zeptat se znovu
A teď nás čeká oblíbená hra!
Vytvoř hru Šibenice podle následujícího popisu.
Program si zvolí nějaké slovo, které bude uživatel hádat (slovo ulož do proměnné). Pro jednoduchost používej malá písmena a nepoužívej slova, ve kterých se stejné písmeno opakuje dvakrát (třeba čokoláda).
Zkus třeba slova: trávník
, stromek
, stavení
.
Výchozí stav je řetězec s tolika podtržítky, kolik je ve vybraném slově písmen.
Výchozí počet neúspěšných pokusů je nula.
Prováděj stále dokola:
index
a nahrazení písmena v řetězci, které jsme si
ukazovali na lekci.)Následující úkol je určen pro "fajnšmekry". Pokud si s ním nebudeš vědět rady, zkus kontaktovat kouče, případně se k němu můžeš vrátit později, až si budeš s Pythonem rozumět lépe.
Napiš program, který bude převádět řetězec na celé číslo bez použití funkce int
. Pro
otestování převodu načti od uživatele řetězec, přičti k němu jedničku a výsledek vypiš.
Níže je návod. Zkus program nejprve napsat bez něj.
ord
, která převede znak na jeho ASCII hodnotu.