Ve třetím díle kurzu si projdeme možnosti formátovaného výstupu a jednoduché podmínky if – else.
Studijní materiály
Odkaz pro zobrazení Google Slides.
Kontrolní otázky
Který z formátovaných výstupů ti více sedí? Prefix „f“, nebo funkce „format()“?
Bude fungovat podmínka pouze s větví „if“, tzn. když bude chybět větev „else“?
Programy
"""
jazykC.py
Vyzkoušej si různé možnosti formátování hodnoty pí.
S pomocí lektora vytvoř program, který v cyklu vypíše 0. až 10. mocninu čísla 10 formátovaně zarovnanou vpravo.
"""
import math
"""
pi = math.pi
print("%f" % pi)
print("%.2f" % pi)
print("%10.2f" % pi)
print("%10.3f" % pi)
print("%10.4f" % pi)
"""
for i in range(0, 11):
mocnina = pow(10, i)
print("%012.0f" % mocnina)
"""
hexadec.py
S pomocí lektora vytvoř program, který v cyklu vypíše 0. až 15. hodnotu hexadecimální číselné soustavy.
Bude se jednat o čísla 0–9 a písmena A–F, tedy obsazenost 4 bitů (24 = 16, tzn. 16 možností variant, tj. hodnoty 0 až 15).
"""
for i in range(0, 16):
print("%X " % i, end = "")
"""
prefixAMetoda.py
Vyzkoušej si různé možnosti formátování hodnoty s prefixem f / metodou format. Pracuj s různými proměnnými pro text, celé a desetinné číslo, logickou hodnotu.
"""
import math
pi = math.pi
text = "Ahoj"
cislo = 123
# print("{0:2.2f} {1} {2:2.2f}".format (pi, text, cislo))
# print(f"{pi:2.2f} {text} {cislo:2.2f}")
print(f"{cislo:>010.2f}")
print(f"{cislo:>010.3f}")
print(f"{cislo:>010.4f}")
pravda = True
nepravda = False
print(f"{pravda:>10}")
print(f"{nepravda:>10}")
"""
formatovany Vystup.py
Využij dnešní znalosti formátovaného výstupu a cyklu, abys vytvořil/a program, který vypíše 0. až 10. mocninu vloženého jednociferného přirozeného čísla (tzn. v úvahu připadá číslo 1 až 9; prozatím nemusíš ošetřit podmínkou) formátovanou některým z pythonních způsobů (tzn. f, nebo format) zarovnané doprava a s předřazenými nulami.
vstup: přirozené číslo (1 až 9)
výstup: 0. až 10. mocnina čísla
1.) načteme hodnotu
2.) výpočet v cyklu
pro mocniny od 0. do 10. vypisuj mocninu čísla
"""
cislo = int(input("Zadej přirozené číslo: "))
if cislo in range(1, 10):
for i in range(0, 11):
mocnina = pow(cislo, i)
print(f"{i:>2}: {mocnina:>010}")
else:
print("Nebylo zadáno přirozené číslo.")
"""
faktorialPodminka.py
Vytvoř program pro výpis faktoriálu vloženého přirozeného čísla. Vstup ošetři podmínkou.Výpis faktoriálu formátuj se zarovnáním doprava, např.: 00005! = 00120
"""
import math
cislo = int(input("Zadej přirozené číslo: "))
if cislo > 0:
faktorial = math.factorial(cislo)
print(f"{cislo:>05}! = {faktorial:>05}")
else:
print("Nebylo zadáno přirozené číslo.")
"""
uceni.py
Vytvoř program, který načte uživatelovu odpověď (pouze 0 = ne či 1 = ano) na dotaz: „Učíš se nyní Python?“. Odpověď přetypuj do logické hodnoty a adekvátně reaguj (např. „Ano, máš pravdu.“ či „Ne, lžeš.“).
vstup: odpověď na otázku (0, nebo 1)
výstup: reakce na odpověď
1.) načti vstup
2.) když je vstup 1 (pravda),
tak výpis "Ano, máš pravdu."
jinak
výpis "Ne, lžeš."
"""
odpoved = int(input("Učíš se nyní Python? Zadej 0 či 1: "))
if odpoved in range(0, 2):
odpoved = bool(odpoved)
if odpoved:
print("Ano, máš pravdu.")
else:
print("Ne, lžeš!")
else:
print("Nebyla zadána 0 či 1.")
"""
matFunkce.py
Vytvoř program, který načte vložené číslo a dle volby uživatele vypíše: druhou mocninu (volba 1), druhou odmocninu (volba 2), faktoriál (volba 3).
vstup: číslo, volba
výstup: druhá mocnina, druhá odmocnina, nebo faktoriál
1.) načtení vstupů
2.) když volba je 1, tak
výpočet druhé mocniny
když volba je 2, tak
výpočet druhé odmocniny
když volba je 3, tak
výpočet faktoriálu
"""
import math
cislo = int(input("Zadej číslo: "))
volba = int(input("Zadej volbu \n(1: mocnina, \n2: odmocnina, \n3: faktoriál): "))
if volba == 1:
print("Druhá mocnina je", pow(cislo, 2))
else:
if volba == 2:
print("Druhá odmocnina je", math.sqrt(cislo))
else:
if volba == 3:
print("Faktoriál je", math.factorial(cislo))
else:
print("Volba není na výběr.")
"""
sudaLicha.py
Vytvoř program, který dle zadaného čísla vyhodnotí, zdali je sudé či liché.
vstup: číslo
výstup: sudá/lichá
sudá čísla jsou dělitelná 2 beze zbytku, tzn. zbytek po dělení číslem 2 je roven nule zbytek = číslo % 2
když zbytek == 0, tak číslo je sudé
jinak je číslo liché
"""
cislo = int(input("Zadej celé číslo: "))
if cislo % 2 == 0:
print("Číslo je sudé.")
else:
print("Číslo je liché.")