Soluzioni di una equazione di secondo grado (con funzioni)

Un classico esercizio per prendere confidenza col Python, il cast di tipi, le funzioni e la libreria math. In allegato trovate il diagramma a blocchi corrispondente. 

La difficoltà o anomalia che possiamo riscontrare è l’utilizzo del CAST per obbligare la conversione tra il valore dell’input che restituisce una stringa di testo, anche se inseriamo correttamente un numero, e quello numerico necessario per i conti. Il software poi utilizza una funzioncina con tre parametri per calcolare il delta e per effettuare le operazioni di caricamento.

'''
Calcoliamo una classica equazione di secondo grado
'''
import math

def carica():
    rawa = input("Inserisci a: ")
    a= float(rawa)

    rawb = input("Inserisci b: ")
    b= float(rawb)

    rawc = input("Inserisci c: ")
    c= float(rawc)
    return [a,b,c]

def delta(a,b,c):
    d= ((b*b) - (4*a*c))
    return d

if __name__=="__main__":
    [a,b,c] = carica()

    if a == 0:
        if b == 0 :
            print ("L'eq. non ha soluzione")

        else:
            x = -(b/c)
            print ("La soluzione x="+ str(x))
    else:
        d = delta(a,b,c)
        if d >= 0:
            x1 = (-b -math.sqrt(d))/(2*a)
            x2 = (-b +math.sqrt(d))/(2*a)
            print ("Soluzione x1="+str(x1) + " Soluzione x2="+str(x2))
        else:
            print("Delta zero, non ci sono soluzioni")

Ultima modifica 30 Gennaio 2022