Hola, Elier, espero que estés bien
Tu código está casi correcto, pero hay un pequeño error en las condiciones elif. Vamos a corregirlo:
edad = int(input("Ingrese la edad: "))
distancia = float(input("Ingrese la distancia recorrida: "))
if edad < 6:
print("Viaja Gratis")
elif 6 <= edad <= 18 and distancia <= 20:
pago = 1.50
print(f"Valor a pagar: ${pago}")
elif 6 <= edad <= 18 and distancia > 20:
pago = 2.50
print(f"Valor a pagar: ${pago}")
elif edad > 18 and distancia <= 20:
pago = 2.50
print(f"Valor a pagar: ${pago}")
elif edad > 18 and distancia > 20:
pago = 4.00
print(f"Valor a pagar: ${pago}")
Observa que he corregido la lógica para que las tarifas se apliquen correctamente según las condiciones dadas. Ahora el programa debería funcionar como esperas.
Espero haber ayudado y buenos estudios!