Importante

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!

3
respostas

[Projeto] Desafio: hora da Prática - Calculadora com operadores

Q01 e Q02
Q03, Q04 e Q05
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Olá, Evandro. Como vai?

É excelente ver um Analista de RH Sênior dominando com tanta precisão os operadores aritméticos em Python! Essa base é fundamental para qualquer análise de dados, permitindo automatizar cálculos de folha, indicadores de desempenho e muito mais.

Suas resoluções estão impecáveis. Gostaria de destacar alguns pontos técnicos muito positivos nas suas imagens:

  • Uso de f-strings: Você utilizou a formatação moderna f'...' em quase todos os exercícios, o que deixa o código limpo e profissional.
  • Operadores Específicos: Na Questão 07 e Questão 08, você aplicou corretamente os operadores // (divisão inteira) e % (resto da divisão), que são ferramentas essenciais para lógica de programação.
  • Média Ponderada: Na Questão 10, a lógica matemática foi aplicada com perfeição, respeitando a ordem das operações e a soma dos pesos.

Para agregar ainda mais valor ao seu aprendizado, deixo uma sugestão sobre as questões de divisão (05, 07 e 08). Embora você tenha deixado claro no texto para o usuário não digitar 0, na programação real costumamos usar uma estrutura de controle para evitar que o programa "quebre" caso o usuário ignore o aviso.

Veja um exemplo de como poderíamos tratar isso com um if simples:

n1 = int(input('Digite o numerador: '))
d1 = int(input('Digite o denominador: '))

if d1 != 0:
    print(f'A divisão é {n1/d1}')
else:
    print('Erro: Não é possível dividir por zero!')

Além disso, para lidar com notas ou alturas (como na Questão 09), lembre-se que o tipo float() costuma ser mais indicado que o int(), pois permite notas quebradas (ex: 8.5).

Parabéns pelo empenho e pela organização dos desafios! Você está construindo uma base sólida para avançar em Data Science.

Espero que possa ter lhe ajudado!

Olá Evandro!
Obrigado pelos detalhes, gostaria de uma ajuda!
Ao aplicar o float :
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Porém estou tentando trabalhar a formatação %2f. para informar o número de casas, porém acontece um erro, pode me ajudar com esta questão?
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá, Evandro. Como vai?

Essa dúvida sobre formatação de casas decimais em Python é super comum quando estamos migrando do cálculo bruto para a exibição de relatórios!

Olhando para o seu print, o erro aconteceu por uma leve confusão na sintaxe. Você tentou misturar uma formatação antiga do Python (que usa o símbolo %) dentro de uma f-string moderna, e colocou os dois pontos (:) no lugar errado.

Do jeito que ficou, o Python interpretou o %2f. como um texto comum e acabou exibindo toda aquela dízima periódica (9.166666666666666) logo em seguida.

Para corrigir isso e limitar o resultado a 2 casas decimais, a regra de ouro da f-string é colocar a regra de formatação logo após a operação matemática, separada por dois pontos (:).


Como corrigir o seu código:

Substitua a sua linha do print por esta aqui:

print(f'A média das notas informadas é de {((nota1+nota2+nota3)/3):.2f}')

O que mudou?

  • :.2f: Os dois pontos (:) dizem ao Python: "Atenção, vou começar a formatar o número agora". O ponto (.) indica as casas decimais, o 2 define a quantidade de casas desejada e o f vem de float (número decimal).

Dessa forma, o seu resultado para as notas 10, 9 e 8.5 deixará de ser aquele número gigante e passará a ser exibido de forma limpa e profissional:

A média das notas informadas é de 9.17

(Note que o Python inclusive já faz o arredondamento correto para você de 9.1666... para 9.17!)

Faça essa alteração no seu Jupyter Notebook e rode a célula novamente. Você vai ver que o visual do seu relatório vai ficar perfeito para qualquer apresentação de indicadores!

Espero que possa ter lhe ajudado! Se surgir qualquer outra dúvida na formatação, é só dar um grito por aqui.