🎯 Saiba o que estudar

Avançado com Treinador a partir de R$ 0,76/dia

Em Python, quando mais de um operador aparece em uma expres...

Próximas questões
Com base no mesmo assunto
Q1686348 Programação
Em Python, quando mais de um operador aparece em uma expressão, a ordem de avaliação depende das regras de precedência de cada linguagem. Assim, ao programar em Python, além de observar essas regras, é preciso considerar, ainda, a forma como a linguagem representa seus operadores, conforme demonstrado nos comandos a seguir.
Imagem associada para resolução da questão

Assinale a opção que corresponde à saída que o compilador Python apresentará para os comandos em questão. 
Alternativas

Comentários

Veja os comentários dos nossos alunos

Como resolver:

x=7*3**2%4 (print x)

I. Começamos pela exponenciação (**): 3**2=9 =>7*9%4

II.Depois multiplicação(*): 7*9= 63 => 63%4

III. Por último, módulo (%): 63%4 = 3 (o módulo é o RESTO da divisão)

GABARITO: Letra B

 A ordem de avaliação dos operadores, do de maior precedência para o de menor precedência, é a seguinte:

  • Parênteses
  • Exponenciação
  • Multiplicação e divisão, que possuem a mesma precedência
  • Adição e subtração, que possuem a mesma precedência

(OPERADORES DE MESMA PRECEDÊNCIA EFETUA-SE O CÁLCULO DA ESQUERDA PARA A DIREITA)

LOGO: 3**2= 9 --> 7*9= 63 --> 63%4 = 3 (% É O RESTO DA DIVISÃO)

Só complementando...

Operadores binários aritméticos:

+: soma

-: subtração

*: produto

/: divisão de ponto flutuante

//: divisão inteira

%: resto da divisão inteira

**: potencialização

Fonte: Fernando Nishimura

Quando uma expressão contém mais de um operador, a ordem da avaliação depende da ordem das operações. Para operadores matemáticos, o Python segue a convenção matemática. O acrônimo PEMDAS pode ser útil para lembrar das regras:

  • Os Parênteses têm a precedência mais alta e podem ser usados para forçar a avaliação de uma expressão na ordem que você quiser. Como as expressões em parênteses são avaliadas primeiro,  2*(3-1) é 4, e (1+1)**(5-2) é 8. Também é possível usar parênteses para facilitar a leitura de uma expressão, como no caso de (minute*100)/60, mesmo se o resultado não for alterado.
  • A Exponenciação tem a próxima precedência mais alta, então 1+2**3 é 9, não 27, e 2*3**2 é 18, não 36.
  • A Multiplicação e a Divisão têm precedência mais alta que a Adição e a Subtração. Assim, 2*3-1 é 5, não 4, e 6+4/2 é 8, não 5.
  • Os operadores com a mesma precedência são avaliados da esquerda para a direita (exceto na exponenciação). Assim, na expressão degrees/2*pi, a divisão acontece primeiro e o resultado é multiplicado por . Para dividir por 2π, você pode usar parênteses ou escrever degrees/2/pi.

Eu não fico sempre tentando lembrar da precedência de operadores. Se a expressão não estiver clara à primeira vista, uso parênteses para fazer isso.

Fonte: https://pense-python.caravela.club/02-variaveis-expressoes-e-instrucoes/05-ordem-das-operacoes.html

NISHIMISHA FOI PRO C......

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo