Commit 4f4e722f authored by Mareš Martin's avatar Mareš Martin
Browse files

05: Ukázkové programy z cvičení

parent a1f3b69f
#!/usr/bin/env python3
def fibonacci(n):
if n <= 1:
return n
a, b = 0, 1
for i in range(2, n+1):
a, b = b, a+b
return b
#!/usr/bin/env python3
from math import sqrt
# Vrátí seznam kořenů rovnice ax**2 + bc + c = 0
def kvadraticka_rovnice(a, b, c):
if a == 0:
print("Lineární rovnice neřešíme")
return []
d = b**2 - 4*a*c # Diskriminant
if d < 0:
return []
elif d == 0:
return [-b/(2*a)]
else:
q = sqrt(d)
return [(-b - q) / (2*a), (-b + q) / (2*a)]
# Příklady:
print(kvadraticka_rovnice(4, 0, -64)) # 2 kořeny
print(kvadraticka_rovnice(4, 0, 64)) # žádný kořen
print(kvadraticka_rovnice(1, -2, 1)) # 1 kořen
#!/usr/bin/env python3
def min2(x, y):
if x < y:
return x
else:
return y
def min3(x, y, z):
return min2(min2(x, y), z)
#!/usr/bin/env python3
# Spočítá průnik dvou setříděných seznamů
def prunik_seznamu(a, b):
vystup = []
j = 0
for x in a:
while j < len(b) and b[j] < x:
j += 1
if j < len(b) and b[j] == x:
vystup.append(x)
j += 1
return vystup
#!/usr/bin/env python3
def kolik_sudych(seznam):
c = 0
for x in seznam:
if x % 2 == 0:
c += 1
return c
def vyber_suda(seznam):
vystup = []
for x in seznam:
if x % 2 == 0:
vystup.append(x)
return vystup
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment