Programma in Python

from turtle import *
import math
import cmath
import sys
from math import sqrt

def ipotenusa_triangolo (c1, c2):
    ipotenusa=sqrt(c1**2+c2**2)
    ipotenusapp=round(ipotenusa,5)
    return ipotenusapp

def cateto_triangolo (i, c1):
    cateto=sqrt(i**2-c1**2)
    catetoapp=round(cateto,5)
    return catetoapp

def area_triangolo (c1, c2):
    area=c1*c2/2
    areapp=round(area,5)
    return areapp

def perimetro_triangolo (c1, c2, i):
    perimetro=c1+c2+i
    perimetroapp=round(perimetro,5)
    return perimetroapp

def altezza_relativa (c1, c2, i):
    hi=(c1*c2)/i
    hiapp=round(hi,5)
    return hiapp


def piano ():
    setup (900,800)
    bgcolor("AntiqueWhite")
    speed(10)
    ht()
    up()
    setposition(-200,70)

def triangolo ():
    down()
    pensize(1.5)
    goto(-200,(dc1+70))
    up()
    goto(-200,70)
    right(90)
    down()
    goto((-200+dc2),70)
    goto(-200,(dc1+70))
    pensize(1)
    up()
    goto((-200+dc2),70)
    down()
    rot=(180+(90-betag))
    left(rot)
    fd(dp1)
    goto(-200,70)

def scritta() :
    up()
    goto(80,350)
    down()
    write("Teorema di Pitagora",font=("arial",20,"normal"))
    up()
    goto(90,320)
    down()
    write("Triangolo Rettangolo",font=("arial",12,"normal"))
    up()
    setposition(-200,70)

def lettere ():
    up()
    goto(-215,(dc1+71))
    down()
    write("A",font=("arial",14,"normal"))
    up()
    goto(-215,50)
    write("B",font=("arial",14,"normal"))
    up()
    goto((-190+dc2),50)
    down()
    write("C",font=("arial",14,"normal"))
    up()
    goto((-200+dc2),70)
    fd(dp1)
    right(90)
    fd(15)
    down()
    write("H",font=("arial",14,"normal"))

def dati():
    if condizione == 's':
      up()
      goto(-360,-20)
      write("DATI: ",font=("arial",14,"normal"))
      up()
      goto(-330,-45)
      down()
      write("AB = ",font=("arial",14,"normal"))
      up()
      goto(-280,-45)
      down()
      write(cateto1,font=("arial",14,"normal"))
      up()
      goto(-330,-70)
      down()
      write("BC = ",font=("arial",14,"normal"))
      up()
      goto(-280,-70)
      down()
      write(cateto2,font=("arial",14,"normal"))
    if condizione== 'n':
      up()
      goto(-360,-20)
      write("DATI: ",font=("arial",14,"normal"))
      up()
      goto(-330,-45)
      down()
      write("AB = ",font=("arial",14,"normal"))
      up()
      goto(-280,-45)
      down()
      write(cateto1,font=("arial",14,"normal"))
      up()
      goto(-330,-70)
      down()
      write("AC = ",font=("arial",14,"normal"))
      up()
      goto(-280,-70)
      down()
      write(ipotenusa,font=("arial",14,"normal"))

def svolgi():
    if condizione=='s':
      up()
      goto(-330,-125)
      down()
      write("Ipotenusa: AC = sqrt(AB^2+BC^2) = ",font=("arial",14,"normal"))
      up()
      goto(-10,-125)
      down()
      write(ipotenusa,font=("arial",14,"normal"))
    if condizione=='n':
      up()
      goto(-330,-125)
      down()
      write("Cateto: BC = sqrt(AC^2-AB^2) = ",font=("arial",14,"normal"))
      up()
      goto(-40,-125)
      down()
      write(cateto2,font=("arial",14,"normal"))
      up()
      goto(-330,-150)
      down()
      write("Area (AB*BC)/2 = ",font=("arial",14,"normal"))
      up()
      goto(-160,-150)
      down()
      write(area_triangolo(cateto1, cateto2),font=("arial",14,"normal"))
      up()
      goto(-330,-175)
      down()
      write("Perimetro = ",font=("arial",14,"normal"))
      up()
      goto(-160,-175)
      down()
      write(perimetro_triangolo(cateto1, cateto2, ipotenusa),font=("arial",14,"normal"))
      up()
      goto(-330,-195)
      write("Altezza relativa ipotenusa BH = ",font=("arial",14,"normal"))
      up()
      goto(-60,-195)
      write(altezza_relativa (cateto1,cateto2,ipotenusa),font=("arial",14,"normal"))

#Programma Principale
piano()
scritta()
condizione=textinput("Scelta", "Conosci i cateti s/n: ")
if condizione == 's':
    cateto1 = numinput("Cateto1", "Dammi il primo cateto ")
    cateto2 = numinput("Cateto2", "Dammi il secondo cateto ")
    ipotenusa = ipotenusa_triangolo (cateto1, cateto2)
elif condizione=='n':
    cateto1 = numinput("Cateto", "Dammi il cateto ")
    ipotenusa = numinput("Ipotenusa", "Dammi l'ipotenusa ")
    cateto2 = cateto_triangolo (ipotenusa, cateto1)
else:
    write("I N P U T S B A G L I A T O !",font=("arial",20,"normal"))

coef=300/ipotenusa
dc1=cateto1*coef
dc2=cateto2*coef
di=ipotenusa*coef
dp1=dc2*dc2/di
dp2=di-dp1
betar=math.asin(dc1/di)
betag=betar*180/math.pi
gammag=90-betag


triangolo()
lettere()
dati()
svolgi()

 

OUTPUT