kvadrov.py 587 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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