Hola Estudiante, espero que estés bien
Veo que estás trabajando en un programa para calcular tarifas de transporte basadas en la edad y la distancia. Tu código parece estar casi correcto, pero hay un pequeño error en la lógica de las condiciones que podría mejorarse para que sea más claro.
Aquí tienes una versión ajustada del código:
edad = int(input("Digite la edad del pasajero: "))
distancia = float(input("Digite la distancia recorrida (km): "))
if edad < 0 or distancia < 0:
print("Error: Datos inválidos")
elif edad < 6:
print("Viaja gratis")
elif edad <= 18:
if distancia <= 20:
print("Valor a pagar: $1.50")
else:
print("Valor a pagar: $2.50")
else: # Mayores de 18
if distancia <= 20:
print("Valor a pagar: $2.50")
else:
print("Valor a pagar: $4.00")
He simplificado las condiciones anidadas para que sean más claras. Ahora, primero se verifica la edad y luego se anida la condición de la distancia dentro de cada rango de edad. Esto hace que el código sea más fácil de seguir y menos propenso a errores.
Espero que esto te ayude a resolver tu duda. ¡Bons estudios!