Upravit tuto stránku na GitHubu
Bonusová cvičení: Procházení textu
Bonusy jsou pro rychlíky – když máš hotová cvičení a zbývá čas. Každý bonus má vlastní soubor ve složce lekce03-funkce-a-cyklus-for/03_prochazeni/cviceni_bonusy/. Řešení si rozklikni až po vlastním pokusu – tvoje řešení může vypadat jinak, a to je v pořádku.
Bonus 1
Soubor: cviceni_bonusy/01_trojuhelnik_z_hvezdicek.py
Trojúhelník z hvězdiček. Uživatel zadá výšku a ty vypiš trojúhelník, kde první řádek má jednu hvězdičku, druhý dvě atd.:
*
**
***
Zobrazit řešeníSkrýt řešení
vyska = int(input("Jak vysoký trojúhelník? "))
for radek in range(1, vyska + 1):
print("*" * radek) # "*" * 3 je "***"
Bonus 2
Soubor: cviceni_bonusy/02_ramecek.py
Rámeček. Uživatel zadá velikost N. Vnořenými cykly nakresli čtverec N x N, kde okraj tvoří X a vnitřek je prázdný. Pro N=4: X X X X X X X X X X X X Zamysli se: na kterém řádku a sloupci se kreslí X a kdy mezera?
Zobrazit řešeníSkrýt řešení
n = int(input("Jak velký rámeček? "))
for radek in range(n):
for sloupec in range(n):
if radek == 0 or radek == n - 1 or sloupec == 0 or sloupec == n - 1:
print("X", end=" ")
else:
print(" ", end=" ")
print()
Bonus 3
Soubor: cviceni_bonusy/03_ciferny_soucet.py
Ciferný součet. Uživatel zadá číslo. Sečti jeho jednotlivé číslice a součet vypiš (třeba z 253 vyjde 2 + 5 + 3 = 10).
Zobrazit řešeníSkrýt řešení
cislo = input("Zadej číslo: ") # necháme jako text, ať projdeme číslice
soucet = 0
for znak in cislo:
soucet = soucet + int(znak) # každou číslici převedeme na číslo
print("Ciferný součet:", soucet)
Bonus 4
Soubor: cviceni_bonusy/04_teplotni_skok.py
Teplotní skok. Uživatel postupně zadá sedm denních teplot (klidně i záporných). Najdi a vypiš největší skok mezi dvěma sousedními dny – tedy největší rozdíl teplot ze dne na den (bez ohledu na to, jestli teplota stoupla, nebo klesla).
Zobrazit řešeníSkrýt řešení
predchozi = int(input("Zadej teplotu: "))
nejvetsi_skok = 0
for den in range(6): # zbývá dalších šest dní
teplota = int(input("Zadej teplotu: "))
skok = abs(teplota - predchozi) # rozdíl proti včerejšku, bez ohledu na směr
if skok > nejvetsi_skok:
nejvetsi_skok = skok
predchozi = teplota # dnešek se stane včerejškem
print("Největší skok:", nejvetsi_skok)
Bonus 5
Soubor: cviceni_bonusy/05_palindrom.py
Palindrom. Uživatel zadá slovo. Zjisti, jestli se čte stejně zepředu i zezadu (třeba "kajak" nebo "radar"). Zamysli se, jak si slovo poskládáš pozpátku a jak obě verze porovnáš.
Zobrazit řešeníSkrýt řešení
slovo = input("Napiš slovo: ")
obracene = ""
for znak in slovo:
obracene = znak + obracene # každé písmeno dáme PŘED dosavadní výsledek
if slovo == obracene:
print("Je to palindrom.")
else:
print("Není to palindrom.")

Komentáře
Máš k této stránce dotaz nebo jsi našla chybu? Napiš to sem. Ke komentování je potřeba účet na GitHubu.