Input controllato

Con la ripetizione puoi costringere l’utente ad inserire dati corretti per l’esercizio.
I dati di un trapezio isoscele devono essere positivi!

import math  #  sqrt()
 
base1   = 0  #  Valori errati per forzare i 3 while successivi
base2   = 0
altezza = 0
 
while(base1 <= 0):                                  # Continua se...
    base1 = float(input("Base 1 > 0 = "))
while(base2 <= 0) or (base2 >= base1):              # Continua se...
    base2 = float(input("0 < Base 2 < Base 1 = "))
while(altezza <= 0):                                # Continua se...
    altezza = float(input("Altezza > 0 = "))
 
x         = (base1-base2)/2                         # ELABORAZIONE
lato      = math.sqrt(x**2+altezza**2)
perimetro = base1+base2+2*lato
area      = (base1+base2)*altezza/2
 
print("Perimetro = %10.4f" %(perimetro))            # OUTPUT
print("Area      = %10.4f" %(area     ))

Un messaggio più esplicito per la seconda base.

...
msg = "0 < Base 2 < " + str(base1) + " = "
while(base2 <= 0) or (base2 >= base1):
    base2 = float(input(msg))
...

Compare l’operatore di concatenazione di stringhe (+)