Le code suivant est ce que j'utilise pour un solveur de problème quadratique, où a ne peut pas être égal à 0. Je reçois actuellement des réponses vraiment bizarres, et n'arrive pas à comprendre le problème. Pensées?Problème avec la formule quadratique
def descriminant(a, b, c): #Setting input perameters for descriminant
if a>0 or a<0: #If a isnt equal to 0, find descriminant
disc = (b**2-4*a*c) #Defining what descriminant does with disc
if disc>0:
disc1=float(disc)**0.5
return disc1 #returns and allows to be used again instead of print which doesnt allow you to use it again
else:
print("The discriminant must be greater than 0")
else: #if a is equal to 0
print ("A cannot equal 0") #Tell the user a cant equal 0
def quad_form(a, b, c): #Defining quad form w/ input a, b, c
disc2=float(descriminant(a, b, c))
quad_form1=((-1*b) + disc2/float((2*a))) #Defining + forumula for quad form
quad_form2=((-1*b) - disc2/float((2*a))) #Defining - forumula for quad form
return quad_form1, quad_form2
UI=input("Enter the coefficients of a quadratic separated by commas where A is not equal to zero: ") #User Input
a=float(UI[0])
b=float(UI[1])
c=float(UI[2])
print quad_form(a, b, c)
Quelles sont les réponses attendues et quelles sont les réponses réelles? Les questions qui cherchent une aide au débogage («pourquoi ce code ne fonctionne-t-il pas?») Doivent inclure le comportement souhaité, un problème ou une erreur spécifique et le code le plus court nécessaire pour le reproduire dans la question elle-même. Les questions sans énoncé de problème clair ne sont pas utiles aux autres lecteurs. Voir: [Comment créer un exemple minimal, complet et vérifiable] (http://stackoverflow.com/help/mcve). – MikeJRamsey56