Salve a tutti inforgiani studiando un po di python ultimamente mi è venuta l'idea di buttare giu un piccolo programma che risolva equazioni di 1° e 2° grado ( ho iniziato da poco a programmare non mi uccidete per il codice che scrivo ahah). Ora vorrei aggiungere anche una funzione che risolva i radicali( ce li avete presenti?) come potrei fare in modo che l'interprete capisca quando un numero è un radicale.. questo è il problema mi sto scervellando da un po ma non trovo soluzioni. Questo è il programma ripeto non sparatemi ahah
Codice:
import math
class equazione:
def __init__(self,a,b,c,n,d):
self.a = a
self.b = b
self.c = c
self.n = n
def variabili2():
global a
global b
global c
a = int(input("Inserisci la a dell'equazione: "))
b = int(input("Inserisci la b dell'equazione: "))
c = int(input("Inserisci la c dell'equazione: "))
return a,b,c
def variabili() :
global n
global d
d = int(input("Inserisci il coefficiente dell'incognita: "))
n = int(input("Inserisci il termine noto: "))
return n,d
def solv_equazione2(a,b,c):
delta = b**2-(4*a*c)
if delta < 0:
print("Impossibile risolvere quest'equazione")
elif delta == 0:
sol = -b/2*a
print( sol)
elif delta > 0:
sol1 = -b + delta/2*a
sol2 = -b - delta/2*a
print(sol1,sol2)
def formula_semplificata(a,b,c):
delta = (b/2)**2 - a*c
x1 = -(b/2) + math.sqrt(delta)/ a
x2 = -(b/2) - math.sqrt(delta)/a
print(x1,x2)
def solv_equazione(d,n):
x = d/(-n)
print(x)
def riga():
print('')
def analizza_equazione2(a,b,c):
if b%2 == 0:
equazione.formula_semplificata(a,b,c)
elif b%2 != 0:
equazione.solv_equazione2(a,b,c)
def analizza_equazione(d,n):
if d == 0:
print('Equazione Impossibile ')
elif d == 0 and n == 0:
print('Equazione indeterminata ')
else:
equazione.solv_equazione(n,d)
def menu(equazione):
riga()
print('Questo facile ed intuitivo programma risolve equazioni di 1 e 2 grado')
riga()
print('1.Risolvi Equazione di 1° Grado')
riga()
print('2.Risolvi Equazione di 2° Grado')
riga()
scelta = int(input('Fai la tua scelta giovane: '))
if scelta == 2:
equazione.variabili2()
analizza_equazione2(a,b,c)
elif scelta == 1:
equazione.variabili()
analizza_equazione(d,n)
if __name__ == '__main__':
menu(equazione)