Diskussion:Andragradsekvation Python

Från Wikiskola
Hoppa till navigering Hoppa till sök

Gammal kod

from math import *

print("Programmet löser en andragradsekvation av typen ax\u00b2+bx+c=0\n")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))

#Division med a
b = b / a
c = c / a

# Vi löser ekvationen med p-q formeln
d = (b / 2)**2 - c   #beräkna värdet för uttrycket under kvadratroten ...
x = - b / 2          # symmetrilinjen

if d < 0:  # Komplexa lösningar
    i = round(sqrt(-d),2)  # beräknar imaginära delen
    print("Två komplexa lösningar: x\u2081 = " + str(round(x,2)) + " + " + str(i) + "i och x\u2082 = " + str(round(x,2)) + " - " +str(i) + "i.")

elif  d == 0: 
    print("En dubbelrot: x = " + str(round(x,2)))
else:
    x1 = round(x+sqrt(d),2)
    x2 = round(x-sqrt(d),2)
    print("Två reella lösningar: x\u2081 = " + str(x1) + " och x\u2082 = " + str(x2))

Uppgiften är inspirerad av Malmö stads Matematisk programmering i Python