deixei todas como comentario
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
deixei todas como comentario
Olá, Evandro. Como vai?
Parabéns pelo excelente trabalho e pela dedicação em resolver todos esses exercícios! A estrutura lógica de todas as suas soluções está correta e você demonstrou domínio tanto das condicionais tradicionais (if, elif, else) quanto do uso de operadores lógicos (and) e expressões condicionais ternárias (como na linha do alerta de temperatura).
Analisando os seus códigos, existem alguns detalhes fundamentais sobre o funcionamento do Python que você precisa se atentar para que seus scripts rodem sem erros no computador. Vamos a eles:
No Python, a indentação (aquele recuo ou espaço no início da linha) não serve apenas para deixar o código bonito, ela é obrigatória para definir o que está dentro de uma condicional.
Em blocos como o das bananas e maçãs, o comando print precisa estar recuado. Sem isso, o Python gerará um erro do tipo IndentationError. Veja a comparação:
# Como foi postado (pode gerar erro):
if banana > maca:
print('As bananas tiveram mais vendas')
# Forma correta com indentação (4 espaços ou 1 Tab):
if banana > maca:
print('As bananas tiveram mais vendas')
No segundo exercício (das atividades A, B e C), a sua lógica de checar se os dias são maiores que zero está ótima. Porém, a mensagem do else diz: 'ERROR: Não pode ter número '.
Para o usuário que está testando, o ideal seria uma mensagem que refletisse a regra de negócio que você criou, por exemplo: 'ERROR: Os dias devem ser números maiores que zero.'
No exercício do pedágio, repare nas suas condições:
if distancia <= 100:
print('Valor do pedágio: R$10,00')
elif 100 <= distancia <= 200:
print('Valor do pedágio: R$20,00')
Se o usuário digitar exatamente 100, o código entrará na primeira condição (distancia <= 100) e pagará R$ 10,00. O programa funciona perfeitamente, mas para evitar que o número 100 seja testado duas vezes, uma boa prática é deixar o limite inferior do elif apenas como maior do que 100:
if distancia <= 100:
print('Valor do pedágio: R$10,00')
elif 100 < distancia <= 200: # Mudança sutil: de '<=' para '<'
print('Valor do pedágio: R$20,00')
else:
print('Valor do pedágio: R$30,00')
A sua estrutura para validar o IMC ficou perfeita! O Python permite essa escrita simplificada muito elegante: 18.5 <= imc < 25. Isso ajuda demais na leitura do código, evitando ter que escrever longas expressões com o operador and.
A sua lista de exercícios mostra que a base da lógica de programação e o entendimento de fluxos condicionais com Python já estão bem consolidados por aí.
Continue praticando e aplicando esses scripts no seu editor de códigos!
Espero que possa ter lhe ajudado!