Operadores aritméticos: + - * / // ** (soma, subtração, produto, divisão real, divisão inteira, exponenciação) Ordem para realizar as operações numa expressão aritmética: a) Quando mais de um operador aparece em um expressão, a ordem em que são realizadas as operações dependem das regras de precedência (rules of precedence). Python segue as regras de precedência dos seus operadores matemáticos da mesma forma que matemática. b) Parênteses tem a mais alta precedência e podem ser usados para forçar que uma expressão seja calculada na ordem que você deseja. Como expressões entre parênteses são calculadas primeiro 2*(3-1) é 4, e (1+1)**(5-2) é 8. Você pode usar parântese para tornar uma expressão mais legível, como em (minutos * 100) / 60, mesmo que isto não mude o resultado. (c) Exponenciação tem a segunda precedência mais alta, assim 2**1+1```é 3 e não 4, e ``3*1**3 é 3 e não 27. Você pode explicar o por que? (d) Multiplicação e ambas as divisões têm a mesma precedência, que são mais altas que adição e subtração, que também têm a mesma precedência. Logo, 2*3-1``é 5 e não 4, e ``5-2*2 é 1 e não 6. (e) Operadores com a mesma precedência são executados da esquerda para a direira. Em álgebra dizemos que eles são associativos à esquerda (left-associative). Desta forma na expressão 6-3+3 a subtração é realizada primeiro e tem como resultado 3. Depois adicionamos 2 e obtemos o resultado 5. Se os operadores tivessem sido executados da direira para a esquerda o resultado seria 6-(3+2) que é 1. (f) Devido a alguma peculiaridade histórica, uma exceção à regra associativa à esquerda é o operador exponenciação **. Uma dica útil é sempre usar parênteses para forçar a ordem exata que você deseja quando há exponenciações envolvidas. O resultado da expressão 2 ** 3 ** 2 é 512 (corresponde a 2 ** 9). Ou seja, 3 ** 2 é calculado antes.