3. Operators

3.1. Operator precedence

Table 18. 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

3.2. Assignments

3.2.1. Even and odd numbers

  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.