5. Operators

5.1. Operator precedence

Tab. 5.2. Operator precedence
Operator Description
lambda Lambda expression
if, elif, else Conditional expression
and Boolean AND
or Boolean OR
not x Boolean NOT

in, not in, is, is not,

<, <=, >, >=, !=, ==

Comparisons, including membership tests and identity tests
| Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<, >> Shifts
** Exponentiation
*, @, /, //, % Multiplication, matrix multiplication, division, floor division, remainder
+, - Addition and subtraction
+x, -x, ~x Positive, negative, bitwise NOT
await Await expression

x[index], x[index:index],

x(arguments...), x.attribute

Subscription, slicing, call, attribute reference

(expressions...), [expressions...],

{key: value...}, {expressions...}

Binding or tuple display, list display, dictionary display, set display

5.2. Assignments

5.2.1. Even and odd numbers

  • Filename: operators_even_odd.py
  • Lines of code to write: 5 lines
  • Estimated time of completion: 5 min
  1. Wczytaj od użytkownika ciąg znaków dowolnej długości
  2. Użytkownik poda wyłącznie ciągi znaków parsujące się do int lub float bez błędów
  3. Sprawdź czy jest to liczba parzysta, czy nieparzysta
The whys and wherefores:
 
  • wczytywanie ciągu znaków od użytkownika
  • weryfikacja ciągu wprowadzonego od użytkownika
  • konwersja typów i rzutowanie
  • wykorzystanie operatorów matematycznych
Hints:
  • Zero jest parzyste: https://en.wikipedia.org/wiki/Parity_of_zero
  • Liczba parzysta, to taka, która po podzieleniu przez dwa nie ma reszty
  • Zwróć uwagę, że operator % działa modulo tylko na int oraz na float. Przy str ma zupełnie inne znaczenie.