Forum » Programiranje » [Python] Problem z kvadratno enačbo
[Python] Problem z kvadratno enačbo
RedStar ::
Poskušam rešit eno nalogo v Pythonu za rešitev kvadratne enačbe. Najprej sem napisal del za primer ko je diskriminanta večja oziroma enaka 0, se pravi, da je rešitev realna in je zadeva delovala. Potem sem dodal kodo za imaginarno rešitev, se pravi da je diskriminanta manjša od 0, za katero pa skripta ne deluje.
Koda:
Error, ki ga dobim ob zagonu skripte:
Prosim, da mi nekdo razloži kje sem ga polomil.
Koda:
a= input("Vnesi a: ")
b= input("Vnesi b: ")
c= input("Vnesi c: ")
D= b*b-4*a*c
from math import sqrt
# Spodnji del kode predstavlja realno rešitev.
if D>=0:
x1= (-b + sqrt(D))/2*a
x2= (-b - sqrt(D))/2*a
print x1,x2
# Spodnji del kode predstavlja imaginarno rešitev
else:
x1r= -b/2*a
x1i= sqrt(D)/2*a
x2r= -b/2*a
x2i= sqrt(-D)/2*a
x1ri= x1r + x1i + "i"
x2ri= x2r + x2i + "i"
print x1ri, x2ri
Error, ki ga dobim ob zagonu skripte:
Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Documents and Settings\Admin\Desktop\USB-256\Informatika\Python\Script17_kvadratna_enacba.py", line 20, in (module)
x1i= sqrt(D)/2*a
ValueError: math domain error
Prosim, da mi nekdo razloži kje sem ga polomil.
- spremenilo: RedStar ()
zdobersek ::
sqrt funckija iz math modula sprejema samo pozitivna števila, kot alternativo lahko uporabiš sqrt funkcijo iz cmath modula (sprejema tudi negativna števila), ki pa vrača kompleksna števila.
In pa, naslednji error, ki ga boš dobil, bo nepravilno spajanje int (oz. complex ob uporabi cmath modula) in str objektov ob definiciji x1ri in x2ri, uporabi str() funkcijo na int (oz. complex ...) objektih.
In pa, naslednji error, ki ga boš dobil, bo nepravilno spajanje int (oz. complex ob uporabi cmath modula) in str objektov ob definiciji x1ri in x2ri, uporabi str() funkcijo na int (oz. complex ...) objektih.
RedStar ::
Najlepša hvala, sem pozneje tudi sam opazil napako. Namreč tisto kar je pod korenom ne more biti negativno zato sem dodal še ne minus, da zadeva deluje. Tisti drugi erroe pa je tako ali tako tam ker sem narobe definiral odgovor, pa sem ga malo spremenil in sedaj deluje, vsaj mislim, da nisem še preveril če so odgovori pravilni.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Matematična analiza naloga (strani: 1 2 )Oddelek: Šola | 6455 (4805) | lebdim |
» | linearna enačba in kvadratna funkcijaOddelek: Šola | 1027 (955) | Yacked2 |
» | MatematikaOddelek: Šola | 3421 (2201) | Math Freak |
» | Matematični problem-FunkcijaOddelek: Šola | 5679 (4076) | lebdim |
» | Problem pri kvadratni funkcijiOddelek: Šola | 2667 (2367) | divac |