Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o operador **

Olá, tudo bem? Estou fazendo umas leituras fora do curso do ONE sobre python, e lá vi algo que dizia que o operador de exponenciação se liga com o operador da direita. Então, diferente do exemplo do ONE (curso Dara Science, primeiros passos), onde é mostrado no mód2 que 23 é igual a 8, a leitura diz que 23 deve ser lido da direita para a esquerda, ou seja, o resultado dá 9. Isso procede? Alguém pode me tirar essa dúvida? Obrigada!

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas
solução!

Oi, Danielli! Como vai?

Você está certa ao dizer que o operador de exponenciação (**) tem associatividade da direita para a esquerda, mas essa regra só faz diferença quando há mais de um operador na mesma expressão.

Por exemplo:

print(2 ** 3 ** 2)

Nesse caso, o Python lê como 2 ** (3 ** 2), resultando em 512, e não ((2 ** 3) ** 2), que daria 64.

Já no caso simples de 2 ** 3, há apenas um operador, então ele é calculado diretamente como (2^3 = 8).
O resultado 9 viria de (3^2), mas não se aplica aqui.

Resumo:

  • 2 ** 3 → 8
  • 2 ** 3 ** 2 → 512
  • Dica: use sempre ** para exponenciação e adicione parênteses quando quiser deixar clara a ordem dos cálculos.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito obrigada! Abraços!