# 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.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: The whys and wherefores: Filename: types_casting.py Lines of code to write: 4 lines Estimated time of completion: 5 min Definiowanie zmiennych Nazewnictwo zmiennych Korzystanie z print formatting Konwersja typów Operacje matematyczne na zmiennych Oddzielenie logiki biznesowej od warstwy widoku 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}')