Python theorytheory 0/50 · 0%
Types · easy

3. Numbers and arithmetic

int, float, and Python's exact division operators.

Python has arbitrary-precision `int` (no overflow) and `float` (IEEE-754 double). `/` always returns a float, `//` is floor division, and `%` is modulo.

python
7 / 2     # 3.5
7 // 2    # 3
7 % 2     # 1
2 ** 10   # 1024

Because floats are binary approximations, `0.1 + 0.2 != 0.3`; use `round()` or the `decimal` module when exactness matters, such as summing token amounts.

Underscores can group digits for readability: `1_000_000`.

Check your understanding

  1. 1. What does `7 // 2` evaluate to?

  2. 2. Why might `0.1 + 0.2 == 0.3` be False?

  3. 3. What type does Python's `int` support without overflow?