import sys import math def tipologia(): tipologia =input("\nChe figura che stai affrontando nel problema?\n\n1.) Triangolo\n2.) Quadrato\n3.) Rettangolo\n4.) Trapezio\n5.) Cerchio\n6.) Poligono generico\n\nFai la tua scelta e premi invio\n") if tipologia == 1: opzionitriangolo() if tipologia == 2: opzioniquadrato() if tipologia == 3: opzionirettangolo() if tipologia == 4: opzionitrapezio() if tipologia == 5: opzionicerchio() if tipologia == 6: opzionipoligono() if tipologia == 7: sys.exit() def opzionitriangolo(): opz = input("\n1.) Se hai i due cateti di un triangolo rettangolo\n e vuoi calcolare ipotenusa, perimetro e area\n2.) Se hai cateto e ipotenusa di un triangolo rettangolo\n e vuoi calcolare cateto, perimetro e area\n\nFai la tua scelta e premi invio\n") if opz == 1: triangolo1() if opz == 2: triangolo2() if opz == 3: sys.exit() def opzioniquadrato(): opz = input("\n1.) Se hai il lato di un quadrato e vuoi calcolare perimetro e area\n2.) Se hai il perimetro di un quadrato e vuoi calcolare il lato e l'area\n3.) Se hai l'area di un quadrato vuoi calcolare il lato e il perimetro\n\nFai la tua scelta e premi invio\n") if opz == 1: quadrato1() if opz == 2: quadrato2() if opz == 3: quadrato3() if opz == 4: sys.exit() def opzionirettangolo(): opz = input("\n1.) Se hai base e altezza del rettangolo\n2.) Se hai area e base/altezza del rettangolo\n\nFai la tua scelta e premi invio\n") if opz == 1: rettangolo1() if opz == 2: rettangolo2() if opz == 3: sys.exit() def opzionitrapezio(): opz = input("\n1.) Se hai un trapezio isoscele e hai le due basi e l'altezza\n\nFai la tua scelta e premi invio\n") if opz == 1: trapezioiso() if opz == 2: sys.exit() def opzionicerchio(): opz = input("\n1.) Se hai il raggio e vuoi calcolare la circonferenza e l'area di un cerchio\n2.) Se hai l'area e vuoi calcolare il raggio e la circonferenza del cerchio\n3.) Se hai la circonferenza e vuoi calcolare il raggio e l'area del cerchio\n\nFai la tua scelta e premi invio\n") if opz == 1: cerchio1() if opz == 2: cerchio2() if opz == 3: cerchio3() if opz == 4: sys.exit() def opzionipoligono(): opz = input("\n1.) Se hai un poligono regolare generico e hai il lato del poligono\n\nFai la tua scelta e premi invio\n") if opz == 1: poligono() if opz == 2: sys.exit() def triangolo1(): cateto1=float(raw_input('Dammi il valore del primo cateto ')) cateto2=float(raw_input('Dammi il valore del secondo cateto ')) ipotenusa = math.sqrt(cateto1*cateto1+cateto2*cateto2) areat=cateto1*cateto2/2 perimetrot=cateto1+cateto2+ipotenusa print "\n Misura ipotenusa = ",ipotenusa print "\n Misura perimetro = ",perimetrot print "\n Area del triangolo = ",areat def triangolo2(): cateto1=float(raw_input('Dammi il valore del cateto ')) ipotenusa=float(raw_input('Dammi il valore dell\'ipotenusa ')) cateto2= math.sqrt(ipotenusa*ipotenusa-cateto1*cateto1) areat=cateto1*cateto2/2 perimetrot=cateto1+cateto2+ipotenusa print "\n Misura cateto = ",cateto2 print "\n Misura perimetro = ",perimetrot print "\n Area del triangolo = ",areat def quadrato1(): latoq=float(raw_input('Dammi il valore del lato del quadrato ')) areaq=pow(latoq,2) perimetroq=latoq*4 print "\n Il perimetro del quadrato e': ",perimetroq print "\n L\'area del quadrato e': ",areaq def quadrato2(): perimetroq=float(raw_input('Dammi il valore del perimetro del quadrato ')) latoq=perimetroq/4 areaq=pow(latoq,2) print "\n Il lato del quadrato e': ",latoq print "\n L\'area del quadrato e': ",areaq def quadrato3(): areaq=float(raw_input('Dammi il valore dell\'area del quadrato ')) latoq=math.sqrt(areaq) perimetroq=latoq*4 print "\n Il lato del quadrato e': ",latoq print "\n Il perimetro del quadrato e': ",perimetroq def rettangolo1(): baser=float(raw_input('Dammi il valore della base ')) altezzar=float(raw_input('Dammi il valore dell\'altezza ')) perimetror=(baser+altezzar)*2 arear=baser*altezzar print "\n Il perimeto vale: ",perimetror print "\n L\'area vale: ",arear def rettangolo2(): arear=float(raw_input('Dammi il valore dell\'area ')) unar=float(raw_input('Dammi il valore della base o dell\'altezza ')) altrar=arear/unar perimetror=(unar+altrar)*2 print "\n L\'altra dimensione vale: ",altrar print "\n Il perimetro vale: ",perimetror def trapezioiso(): basemag=float(raw_input('Dammi il valore della base maggiore ')) basemin=float(raw_input('Dammi il valore della base minore ')) altezza=float(raw_input('Dammi il valore dell\'altezza ')) basetri=(basemag-basemin)/2 latoob=math.sqrt(altezza*altezza+basetri*basetri) areatra=(basemag*basemin)*altezza/2 perimetrotra=(basemag+basemin+latoob+latoob) print "\n Il perimetro vale: ",perimetrotra print "\n L\'area vale: ", areatra def cerchio1(): raggior=float(raw_input('Dammi il valore del raggio ')) circonferenzar=2*math.pi*raggior arear=math.pi*raggior*raggior print "\n La circonferenza vale: ", circonferenzar print "\n L\'area vale: ", arear def cerchio2(): arear=float(raw_input('Dammi il valore dell\'area ')) raggior=math.sqrt(arear/math.pi) circonferenzar=2*math.pi*raggior print "\n Il raggio vale: ", raggior print "\n La circonferenza vale: ", circonferenzar def cerchio3(): circonferenzar=float(raw_input('Dammi il valore della circonferenza ')) raggior=circonferenzar/(math.pi*2) arear=math.pi*raggior*raggior print "\n Il raggio vale: ", raggior print "\n L\'area vale: ", arear def poligono(): lato=float(raw_input('\nDammi il valore del lato del poligono ')) n=int(raw_input('\nDimmi quanti sono i lati ')) k=n*math.tan((n-2)*math.pi/(2*n))/4 #numero fisso perimetro=n*lato area=k*lato*lato apotema=area/(perimetro/2) print "\nIl valore del numero fisso f = ", k print "\nIl valore dell\'apotema ", apotema print "\nIl valore del perimetro ", perimetro print "\nIl valore dell\'area ", area def scelta(): scelta=input("\nCiao sei pronto a fare un esercizio?\n\nSe vuoi continuare premi 1 mentre se vuoi chiudere il programma digita 0\n\n") if scelta: tipologia() else: sys.exit() while True: scelta()