1. Numerical Types

1.1. int

1.1.1. Defining int

  • Python 3 dynamically extends int, when it’s too big
  • In Python 3 there is not maximal int value
value = 30
  • You can use _ for easier read especially with big numbers:

    million = 1000000
    million = 1_000_000
    

1.1.2. Converting to int

  • Also known as “type casting”
  • int() converts argument to int
int(10)          # 10
int(10.0)        # 10
int(10.9)        # 10

int(1.23)            # 1
int(-1.23)           # -1
int('10')        # 10
int('10.5')      # ValueError: invalid literal for int() with base 10: ' 10.5'

1.2. float

1.2.1. Defining float

value = 10.5
  • Notation without leading or trailing zero (used by numpy):

    value = 10.     # 10.0
    value = .44     # 0.44
    

1.2.2. Converting to float

  • Also known as “type casting”
  • float() converts argument to float
float(10.5)            # 10.5
float(10)              # 10.0
float(1.23)            # 1.23
float(-1.23)           # -1.23
float('+1.23')         # 1.23
float('-1.23')         # -1.23

1.2.3. Engineering notation

million = 1e6
million = 1E6
float(+1E6)            # 1000000.0
float(-1E3)            # -1000.0
float(1e-4)            # 0.0001
float(1E-3)            # 0.001

float(1e-5)            # 1e-05
float(1E-5)            # 1E-05

1.2.4. Maximal and minimal float values

import sys

sys.float_info.min
# 2.2250738585072014e-308

sys.float_info.max
# 1.7976931348623157e+308

1.2.5. Infinity representation

1e308
# 1e+308

1e309
# inf
float('-inf')          # -inf
float('-Infinity')     # -inf
float('inf')           # inf
float('Infinity')      # inf

1.3. Numeric Operators

1.3.1. Numeric types operators

1.3.2. Rounding numbers

pi = 3.14159265359

round(pi)       # 3
round(pi, 2)    # 3.14
round(pi, 4)    # 3.1416

1.3.3. Absolute value

abs(1.5)        # 1.5
abs(1)          # 1
abs(-1)         # 1
abs(-1.5)       # 1.5

1.3.4. Number to the n-th power

pow(2, 2)       # 4
pow(3, 4)       # 81
pow(-1, 2)      # 1
pow(2, -1)      # 0.5
pow(2.888, 3)   # 24.087491072
2 ** 2          # 4
3 ** 4          # 81
-1 ** 2         # 1
2 ** -1         # 0.5
2.888 ** 3      # 24.087491072

1.4. Assignments

1.4.1. Handling user input and type casting

  1. Użytkownik wprowadził odległość w metrach równą 1337
  2. Wyświetl wartość na ekranie w różnych jednostkach
  3. Do wyświetlania skorzystaj z kodu poniżej
  4. Dane przy wyświetlaniu muszą być przekonwertowane do typów podanych w komentarzu
  5. W miejsce ... podstaw wyliczone i przekonwertowane zmienne
print(f'Meters: {...}')                              # int
print(f'Kilometers: {...}')                          # int
print(f'Miles: {...}')                               # float
print(f'Nautical Miles: {...}')                      # float
print(f'm: {...}, km: {...}, mi: {...}, nm: {...}')  # int, int, float, float
About:
  • Filename: types_casting.py
  • Lines of code to write: 4 lines
  • Estimated time of completion: 5 min
The whys and wherefores:
 
  • Definiowanie zmiennych
  • Nazewnictwo zmiennych
  • Korzystanie z print formatting
  • Konwersja typów
  • Operacje matematyczne na zmiennych
  • Oddzielenie logiki biznesowej od warstwy widoku
Hints:
  • Aby podzielić liczbę użyj /, np: 10 / 2

  • 1000 m = 1 km

  • 1608 m = 1 mila

  • 1852 m = 1 mila morska

  • Literka f'...' włącza tryb interpolacji:

    age = 30
    print(f'My age is: {age}')