Pedir la base, está debe ser un valor superior a 0.
Pedir la altura, está debe ser un valor superior a 0.
Visualizar el área.
Diagrama
Para validar el valor de la base y la altura sería:
Su código
cierto=True
while cierto:
try:
altura=float(input(" dame la altura"))
if altura >0:
cierto=False
else:
print("dato fuera de rango")
except:
print("tecleaste un caracter no válido")
cierto=True
while cierto:
try:
base=float(input(" dame la base"))
if altura >0:
cierto=False
else:
print("dato fuera de rango")
except:
print("tecleaste un caracter no válido")
area=base*altura/2
print("Un rectángulo que tiene una altura de {} y de base {} su área es: {}".format(altura,base,area))
Observa
Que el código, para pedir la base y la altura es semejante, excepto en el mensaje, con lo cual, se puede hacer una única función que permita introducir el valor de la base y altura.
Código utilizando funciones
def pedir_datos(mensaje):
cierto=True
while cierto:
try:
x=float(input(mensaje))
if x >0:
cierto=False
else:
print("dato fuera de rango")
except:
print("tecleaste un caracter no válido")
return x
altura=pedir_datos("Dame la altura")
base=pedir_datos("Dame la base")
area=base*altura/2
print("Un rectángulo que tiene una altura de {} y de base {} su área es: {}".format(altura,base,area))