[ Foro de Python ]

que error hay en este código

16-Nov-2020 05:09
Invitado (yioli)
6 Respuestas

h=input("digite las horas trabajadas:")
t=input("digite el valor por hora trabajada:")
try:
   fh=float(h)
   ft=float(t)
except:
   print("error,por favor escriba un numero entero")


   if fh>40:
       salarioNormal=fh*ft
       salarioExtra=(fh-40.0)*(ft*0.5)
       salario=salarioNormal+salarioExtra
   else
       salario=fh*ft
   print("el pago es:",salario)


16-Nov-2020 14:37
Nacho Cabanes (+83)

Da más detalles. ¿Qué problema tienes?


17-Nov-2020 05:03
Invitado (yioli)

me marca error de sintaxis en la lineal donde esta else...


17-Nov-2020 09:52
Nacho Cabanes (+83)

La palabra "else" debe terminar con "dos puntos":

else:
 ...


17-Dec-2020 04:13
Luis Beleni

Hola que tal,  al else le faltaba los "dos puntos" , soy principiante, hay un aparte del codigo que no entiendo su funcion:

try:
   fh=float(h)
   ft=float(t)

except:
   print("Error, por favor escriba un numero entero")

que es lo que hace? por que probe introduciendo numeros enteros, con decimales y negativos y no da ningun error...


h=input("Digite las horas trabajadas: ")
t=input("Digite el valor por hora trabajada: ")

try:
   fh=float(h)
   ft=float(t)

except:
   print("Error, por favor escriba un numero entero")


if fh>40:
   salarioNormal=fh*ft
   salarioExtra=(fh-40.0)*(ft*0.5)
   salario=salarioNormal+salarioExtra
else:
   salario=fh*ft

print("El pago es: ", salario)


17-Dec-2020 09:34
Nacho Cabanes (+83)

Aquí tienes explicado qué es eso del "try-except":

https://www.aprendeaprogramar.com/cursos/verApartado.php?id=70013


27-Dec-2020 13:08
Invitado (benito)

hola luis beleni

también soy totalmente nuevo en python a penas sé pero tampoco le veo lógica a pasar un número a float y si hay error decir que lo escriba un entero

creo que debería decir que escriba un valor numérico y quitar lo de entero, entonces si tendría sentido

aún así no hace la función o no la entiendo yo,  ya que si introduzco por ej diez debería acabar el programa y no dar error de asignación

creo que le falta un exit() debajo del print del except y quitar lo de entero para que funcione bien

saludos ;-)






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)