Olá, João, como vai?
Seu código atende corretamente à proposta da atividade. As condicionais foram organizadas de forma coerente e a leitura do valor via input com conversão para float garante que distâncias decimais também sejam consideradas no cálculo.
A verificação das faixas está funcional e cobre todos os cenários esperados. Mesmo havendo interseção no valor 100 entre a primeira condição e a segunda, a estrutura do if e elif já resolve isso, pois a primeira condição verdadeira é a que será executada.
Obrigado por compartilhar sua solução. O fórum segue à disposição para dúvidas e evoluções no projeto.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!