Ultima modifica da un moderatore:
Ciao ragazzi,
ho scritto un codice con Python3 che calcola solo le radici reali di un equazione di secondo grado con una variabile.
Roba facile, bastano poche righe.
Però non mi torna il risultato quando faccio la prova, cioè quando metto le radici trovati nell'equazione
In seguito vi scrivo il codice completo
OUTPUT
Inserisci il valore di "a" 5 #valore di input
Inserisci il valore di "b" -2 #valore di input
Inserisci il valore di "c" -16 #valore di input
L'equazione ha due soluzioni reali
x1 = -1.6
x2 = 2.0
Prova di x1 = 3.552713678800501e-15 # questo nn mi torna, dovrebbe essere 0
Prova di x2 = 0.0
Sicuramente ho sbagliato nel scrivere il risultato di prova, ma non riesco a capire
in modo specifico
ho scritto un codice con Python3 che calcola solo le radici reali di un equazione di secondo grado con una variabile.
Roba facile, bastano poche righe.
Però non mi torna il risultato quando faccio la prova, cioè quando metto le radici trovati nell'equazione
In seguito vi scrivo il codice completo
Python:
from math import sqrt # importo sqrt dalla libreria math
a=float(input('Inserisci il valore di \"a\" ')) # Prende il valore di a
b=float(input('Inserisci il valore di \"b\" ')) # Prende il valore di b
c=float(input('Inserisci il valore di \"c\" ')) # Prende il valore di c
delta = b**2 - 4*a*c # calcola il discriminante
if delta > 0: # se delta>0
x1 = (-b - sqrt(delta)) / (2 * a) # cacola la radice
x2 = (-b + sqrt(delta))/ (2 * a) # calcola la radice
print('L\'equazione ha due soluzioni reali') # stampa questo
print('x1 = ',x1,'\nx2 = ',x2) # stampa x1 e x2
prova = a*x1**2 +b*x1 +c
prova1 = a * x2 ** 2 + b * x2 + c
print('Prova di x1 = ',prova)
print('Prova di x2 = ',prova1)
elif delta == 0: # solo se la condizione di 'if' non viene soddisfata fai elif
x1 = (-b - sqrt(delta)) / (2 * a)
print('L\'equazione ha due soluzioni coencidenti') # stampa questo
print('x1=x2= ',x1) # stampa
else: # solo se 'if' e 'elif' non vengono sodisfati fai il blocco else
print('Non esistono soluzioni reali') # stampa questo
OUTPUT
Inserisci il valore di "a" 5 #valore di input
Inserisci il valore di "b" -2 #valore di input
Inserisci il valore di "c" -16 #valore di input
L'equazione ha due soluzioni reali
x1 = -1.6
x2 = 2.0
Prova di x1 = 3.552713678800501e-15 # questo nn mi torna, dovrebbe essere 0
Prova di x2 = 0.0
Sicuramente ho sbagliato nel scrivere il risultato di prova, ma non riesco a capire
in modo specifico