GOOGLE ADS

viernes, 22 de abril de 2022

Convertir edades de perros a años humanos

Ha estado mucho tiempo sin programar. Estoy haciendo una función que convierte la edad de un perro en años humanos, pero tengo algunos errores y no los supero. este es mi codigo

def calculator():
# Get dog age
age = input("Input dog years: ")
try:
# Cast to float
d_age = float(age)
# If user enters negative number, print message
if(d_age < 0):
print("Age can not be a negative number", age)
# Otherwise, calculate dog's age in human years
elif(d_age == 1):
d_age = 15
elif(d_age == 2):
d_age = 2 * 12
elif(d_age == 3):
d_age = 3 * 9.3
elif(d_age == 4):
d_age = 4 * 8
elif(d_age == 5):
d_age = 5 * 7.2
else:
d_age = 5 * 7.2 + (float(age) - 5) * 7
print("\n \t \'The given dog age", age, "is", d_age, "human years.'")
except ValueError:
print(age, "is an invalid age")
calculator()

y no entiendo por qué d_age < 0 no funciona y no entiendo por qué aparece como un error "la calculadora () no está definida". ¡Gracias por adelantado!

NOTA: Vi que ya hay una pregunta sobre esto, pero lo estoy haciendo de una manera diferente.

EDITAR: simplemente no lo hice con diccionarios, porque aún no se introdujo en el curso. Sólo estoy tratando de hacer con lo que aprendí. Gracias de cualquier manera.


Solución del problema

Parece que su código no está estructurado correctamente. Si mueve los elifbloques y hace algunos cambios menores, funcionará. Vea abajo:

def calculator():
# Get dog age
age = input("Input dog years: ")
try:
# Cast to float
d_age = float(age)
# If user enters negative number, print message
if(d_age < 0):
print("Age can not be a negative number", age)
# Otherwise, calculate dog's age in human years
elif(d_age == 1):
d_age = 15
elif(d_age == 2):
d_age == 2 * 12
elif(d_age == 3):
d_age == 3 * 9.3
elif(d_age == 4):
d_age = 4 * 8
elif(d_age == 5):
d_age = 3 * 7.2
else:
d_age = 5 * 7.2 + (age - 5) * 7
print("\n \t \'The given dog age", age, "is", d_age, "human years.")
except ValueError:
print(age, "is an invalid age")
calculator()

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...