Olá, Radamés. Como vai?
Excelente lógica! O seu algoritmo para calcular o valor da entrega ficou muito bem estruturado. Você utilizou perfeitamente os conceitos de estruturas condicionais encadeadas (os famosos Se, Senão se e Senão) para definir o valor base pela distância, e depois aplicou uma condicional simples isolada para adicionar a taxa de chuva.
Essa separação é uma ótima prática de programação, pois a taxa da chuva deve ser avaliada independentemente de qual foi a distância calculada.
Para enriquecer ainda mais o seu aprendizado no pensamento computacional, veja como toda essa sua lógica em pseudocódigo se traduz perfeitamente para um código real em Python:
# Perguntar a distância da entrega e converter para número (float)
distancia = float(input("Digite a distância da entrega em km: "))
# Perguntar se está chovendo (o usuário pode responder sim ou nao)
chovendo = input("Está chovendo agora? (sim/nao): ").lower()
# Estrutura condicional para definir a taxa base por distância
if distancia <= 5:
taxa = 5
elif distancia <= 10:
taxa = 8
else:
taxa = 10
# Condicional para verificar a chuva e somar a taxa extra
if chovendo == "sim":
taxa = taxa + 2
# Mostrar na tela o valor final
print(f"O valor da entrega é R$ {taxa:.2f}")
Gostaria de destacar duas sugestões de boas práticas baseadas no código acima para complementar a sua ideia:
- Uso do
.lower(): No código Python, ao receber a resposta se está chovendo, adicionei a função .lower(). Ela transforma o que o usuário digitou em letras minúsculas. Assim, se ele digitar "SIM", "Sim" ou "sim", o programa vai entender corretamente. - Operador de atribuição simplificado: Na linha onde você faz
taxa = taxa + 2, você também pode escrever como taxa += 2. Essa é uma forma mais compacta e muito utilizada por desenvolvedores no dia a dia.
Parabéns pela resolução do desafio! Mapear as regras de negócio dessa forma clara antes de codificar é o caminho certo para criar sistemas sem erros.
Espero que possa ter lhe ajudado!