Olá, Paola. Como vai?
Parabéns por mais uma excelente entrega! O seu algoritmo para calcular o valor da entrega está simplesmente perfeito. Você estruturou a lógica com muita clareza e dividiu muito bem o problema em duas etapas condicionais independentes, o que é uma excelente prática de programação.
Gostaria de destacar um ponto técnico muito positivo no seu desenho: a forma como você tratou o acréscimo da chuva. Ao criar uma variável chamada taxa para guardar o valor base e, logo em seguida, criar um Se isolado para verificar a chuva e simplesmente somar o valor (adicionar 2 à taxa), você evitou a duplicação de código. Se você tentasse colocar a verificação da chuva dentro de cada faixa de distância, o algoritmo ficaria gigante e muito mais difícil de ler. Do seu jeito, ficou compacto e elegante!
Para agregar ainda mais valor ao seu desafio e aproximá-lo do código real, separei duas dicas de boas práticas:
1. Simplificação das Condições (Otimização Lógica)
No seu segundo bloco condicional, você escreveu: Senão, se a distância for maior que 5 km e menor ou igual a 10 km.
Na programação, quando o sistema chega no primeiro Senão, ele já sabe de forma garantida que a distância é maior que 5 (afinal, se fosse menor ou igual a 5, ela teria entrado no primeiro Se). Por isso, você pode simplificar o seu texto e o seu futuro código removendo essa primeira checagem. Ficaria assim:
- Se a distância for menor ou igual a 5 km:
taxa = 5 - Senão, se a distância for menor ou igual a 10 km:
taxa = 8 - Senão:
taxa = 10
2. Tradução para Código Python com a sua Lógica
Para ver como a sua estrutura de pensamento se encaixa perfeitamente no desenvolvimento real, veja como o seu algoritmo em linguagem natural se transforma em um script Python profissional, incluindo uma limpeza no texto de entrada para evitar erros caso o usuário digite "sim" com letras minúsculas:
# Solicitar a distância da entrega em quilômetros
distancia = float(input("Digite a distância da entrega em km: "))
# Perguntar se está chovendo e padronizar a resposta
chovendo_input = input("Está chovendo no momento? (SIM ou NÃO): ")
esta_chovendo = chovendo_input.strip().upper() == "SIM"
# Verifica a faixa de distância para definir a taxa base
if distancia <= 5:
taxa = 5.0
elif distancia <= 10:
taxa = 8.0
else:
taxa = 10.0
# Caso esteja chovendo, acrescenta R$ 2,00 ao valor da taxa
if esta_chovendo:
taxa = taxa + 2.0
# Exibe o valor final ao usuário
print(f"O valor final da entrega é: R$ {taxa:.2f}")
A sua habilidade para quebrar problemas complexos em pequenos blocos lógicos sequenciais está excelente. Continue com esse foco incrível nos exercícios!
Espero que possa ter lhe ajudado!