"""
* Assignment: Type Float Euler
* Required: yes
* Complexity: easy
* Lines of code: 4 lines
* Time: 5 min
English:
1. Euler's number is 2.71828
2. Round number using f-string formatting
3. Run doctests - all must succeed
Polish:
1. Liczba Eulra to 2.71828
2. Zaokrąglij liczbę wykorzystując formatowanie f-string
3. Uruchom doctesty - wszystkie muszą się powieść
Tests:
>>> import sys; sys.tracebacklimit = 0
>>> assert a is not Ellipsis, \
'Assign your result to variable `a`'
>>> assert b is not Ellipsis, \
'Assign your result to variable `b`'
>>> assert c is not Ellipsis, \
'Assign your result to variable `c`'
>>> assert d is not Ellipsis, \
'Assign your result to variable `d`'
>>> assert type(a) is str, \
'Variable `a` has invalid type, should be str'
>>> assert type(b) is str, \
'Variable `b` has invalid type, should be str'
>>> assert type(c) is str, \
'Variable `c` has invalid type, should be str'
>>> assert type(d) is str, \
'Variable `d` has invalid type, should be str'
>>> a
"Euler's number with 0 decimal places: 3"
>>> b
"Euler's number with 1 decimal places: 2.7"
>>> c
"Euler's number with 2 decimal places: 2.72"
>>> d
"Euler's number with 3 decimal places: 2.718"
"""
EULER = 2.71828
# Euler's number with 0 decimal places
# type: str
a = f"Euler's number with 0 decimal places: {EULER}"
# Euler's number with 1 decimal places
# type: str
b = f"Euler's number with 1 decimal places: {EULER}"
# Euler's number with 2 decimal places
# type: str
c = f"Euler's number with 2 decimal places: {EULER}"
# Euler's number with 3 decimal places
# type: str
d = f"Euler's number with 3 decimal places: {EULER}"
# Solution
a = f"Euler's number with 0 decimal places: {EULER:.0f}"
b = f"Euler's number with 1 decimal places: {EULER:.1f}"
c = f"Euler's number with 2 decimal places: {EULER:.2f}"
d = f"Euler's number with 3 decimal places: {EULER:.3f}"