- Sudé-liché. Napište program, který zjistí a vypíše, zda je zadané číslo sudé nebo liché.
x = int(input("Zadej celé číslo:"))
if x % 2 == 0:
print(x, "je sudé.")
else:
print(x, "je liché.")
15 je liché.
- Je větší. Napište program, který zjistí a vypíše, které ze dvou zadaných čísel je větší.
x = float(input("Zadej první číslo:"))
y = float(input("Zadej druhé číslo:"))
if x > y:
print(f"x = {x} je větší než y = {y}.")
elif (x < y):
print(f"y = {y} je větší než x = {x}.")
else:
print(f"Zadaná čísla jsou stejná, x = y = {y}.")
Zadaná čísla jsou stejná, x = y = 3.0.
- Je největší. Napište program, který zjistí a vypíše, které ze tří zadaných čísel je největší.
x = float(input("Zadej první číslo:"))
y = float(input("Zadej druhé číslo:"))
z = float(input("Zadej třetí číslo:"))
if x >= y and x >= z:
print("Největší je první číslo", x)
if y >= x and y >= z:
print("Největší je druhé číslo", y)
if z >= x and z >= y:
print("Největší je třetí číslo", z)
print("Největší je", max(x,y,z))
Největší je první číslo 4.0 Největší je třetí číslo 4.0 Největší je 4.0
- Seřaď. Napište program, který vypíše tři zadaná čísla v pořadí od největšího po nejmenší.
x = float(input("Zadej první číslo:"))
y = float(input("Zadej druhé číslo:"))
z = float(input("Zadej třetí číslo:"))
print("Pořadí čísel od největšího:", end = " ")
if x >= y >= z :
print(x, y, z)
elif x >= z >= y :
print(x, z, y)
elif y >= x >= z :
print(y, x, z)
elif y >= z >= x :
print(y, z, x)
elif z >= y >= x :
print(z, y, x)
else:
print(z, x, y)
Pořadí čísel od největšího: 8.0 7.0 4.0
x = float(input("Zadej první číslo:"))
y = float(input("Zadej druhé číslo:"))
z = float(input("Zadej třetí číslo:"))
print("Pořadí čísel od největšího:", end = " ")
if x >= y and x >= z :
if y >= z :
print(x, y, z)
else:
print(x, z, y)
elif y >= x and y >= z :
if x >= z :
print(y, x, z)
else:
print(y, z, x)
elif (y >= x):
print(z, y, x)
else:
print(z, x, y)
Pořadí čísel od největšího: 15.0 2.0 2.0
- Trojúhelník. Napište program, který zjistí a vypíše, zda lze sestrojit trojúhelník zadaný pomocí tří délek stran.
a = float(input("Zadej délku strany a:"))
b = float(input("Zadej délku strany b:"))
c = float(input("Zadej délku strany c:"))
if (a + b > c) and (a + c > b) and (b + c > a):
print("Trojúhelník lze sestrojit")
else:
print("Trojúhelník nelze sestrojit")
Trojúhelník nelze sestrojit
- Test plnoletosti. Napište program, který se zeptá uživatele na věk a odpoví, zda je plnoletý.
a = int(input("Kolik je ti let?"))
if a >= 18:
print("Jsi plnoletý.")
else:
print("Nejsi plnoletý.")
# alternativně:
print("Jsi plnoletý.") if a >= 18 else print("Nejsi plnoletý.")
Nejsi plnoletý. Nejsi plnoletý.
Cykly¶
- Součet čísel pomocí for cyklu. Napište program, který sečte čísla od 1 do n (pomocí for cyklu).
n = int(input("Zadej číslo:"))
součet = 0
for i in range(1,n+1):
součet += i
print("Součet čísel je", součet) #, n*(n+1)/2)
Součet čísel je 120 120.0
- Sudé-liché podruhé.
Napište program, který bude pořád dokola žádat uživatele, aby zadal celé číslo, a poté vypíše, jestli je zadané číslo sudé nebo liché. Jakmile uživatel napíše "konec", tak program skončí.
while True:
s = input("Zadej celé číslo:")
if s == "konec":
break
x = int(s)
if (x % 2 == 0):
print(f"x = {x} je sudé.")
else:
print(f"x = {x} je liché.")
x = 14 je sudé.
x = 7 je liché.
# alternativně:
s = ""
while s != "konec":
s = input("Zadej celé číslo:")
if s != "konec":
x = int(s)
if (x % 2 == 0):
print(f"x = {x} je sudé.")
else:
print(f"x = {x} je liché.")
x = 14 je sudé.
x = 7 je liché.
- Načti a sečti čísla. Napište program, který postupně načítá čísla ze vstupu, dokud nepřijde prázdný řetězec
""
. Pak vypíše počet zadaných čísel a jejich součet.
součet = 0
počet = 0
while True:
s = input("Zadej číslo:")
if s == "":
break
součet += int(s) # float(s)
počet += 1
print(f"Počet čísel je {počet} a jejich součet je {součet}.")
Počet čísel je 2 a jejich součet je 21
- Chci číslo z intervalu. Program-kecálek čte čísla od uživatele, dokud uživatel nezadá číslo z požadovaného intervalu. Pak mu poděkuje a vypíše počet neúspěšných pokusů.
a = 5
b = 10
počet = 0
while True:
s = input(f"Zadej číslo z intervalu ({a},{b}):")
x = float(s)
if a < x < b:
break
počet += 1
print(f"Děkuji. Zadal jsi číslo {x}. Počet neúspěšných pokusů je {počet}")
Děkuji. Zadal jsi číslo 6.0. Počet neúspěšných pokusů je 2
- Posloupnost. Napište program, který vypíše prvních n členů následující posloupnosti: 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 ...
1. Kvadratická rovnice¶
Napište program pro vyřešení kvadratické rovnice $ax^2 + bx + c = 0$, kde čísla $a,b,c$ jsou reálné parametry.
# vstupní data - zadá uživatel
import math
a = float(input("Zadej a:"))
b = float(input("Zadej b:"))
c = float(input("Zadej c:"))
typ = None
D = b * b - 4 * a * c
x1 = (-b + D**0.5)/(2*a)
x2 = (-b - D**0.5)/(2*a)
if D < 0 :
typ = "komplexní kořeny"
elif D == 0 :
typ = "dvojnásobný kořen"
else:
typ = "reálné kořeny"
print(f"Typ řešení: {typ}, kořeny: {x1:.2}, {x2:.2}")
Typ řešení: komplexní kořeny, kořeny: (-0.5+0.87j), (-0.5-0.87j)
2. BMI podruhé¶
Napište program, který spočítá BMI uživatele a vypíše, zda má nadváhu, podváhu nebo normální váhu (normální váze odpovídá BMI mezi 18.5 a 25). Dále program napíše uživateli, jaké je jeho rozmezí optimální hmotnosti.
m = float(input("Jaká je tvoje hmotnost (v kg):"))
v = float(input("Jaká je tvoje výška (v cm):"))
v /= 100
bmi = m / (v ** 2)
if (bmi < 18.5):
print ("Máš podváhu.")
elif (bmi > 25):
print("Máš nadváhu.")
else:
print("Tvoje váha je optimální.")
m_min = 18.5 * (v ** 2)
m_max = 25 * (v ** 2)
print(f"Vaše optimální hmotnost je od {m_min:.1f} do {m_max:.1f}.")
Tvoje váha je optimální. Vaše optimální hmotnost je od 45.6 do 61.6.
3. Ověření prvočíselnosti¶
Napište program, který ověří, jestli je vstupní celé číslo $n$ prvočíslo nebo ne.
4. Ciferný součet¶
Napište program, který sečte jednotlivé cifry zadaného celého kladného celého čísla.
5. Collatzova posloupnost¶
Napište program, který vypíše Collatzovu posloupnost (do dosažení hodnoty 1) pro dané počáteční přirozené číslo $n$.
Collatzova posloupnost: vezmeme celé kladné číslo $n$. Pokud je $n$ sudé, vydělíme ho dvěma, pokud je $n$ liché, vynásobíme ho třemi a přičteme jedničku, postup opakujeme.
Hypotéza je, že posloupnost pro každé přirozené $n$ nakonec dojde k číslu 1.
n = int(input("Zadejte celé kladné číslo: "))
while n >= 1:
print(n, end=' ')
if n == 1:
break
if n % 2 == 0:
n = n // 2
else:
n = 3 * n + 1
10 5 16 8 4 2 1
6. Prvočíselný rozklad¶
Napište program, který vypíše prvočíselný rozklad přirozeného čísla $n$.