4. Functions¶
Gives possibility to reuse code,
Gives as chance to track code,
Splitting is more logical than executing code line by line
Different definitions of functions
def function_a():
""""Docstring documenting function"""
print('This is simple function')
# "Execution" of a function
function_a()
This is simple function
4.1. Function with parameteres¶
def sum_of_three_numbers(a, b, c):
"""Function calculating sum of three numbers"""
print(a + b + c)
result = sum_of_three_numbers(3, 5, 8)
print(result)
16
None
def sum_of_four_numbers(a, b, c=0, d=0):
"""Simple function suming 4 numbers with default 4th param"""
return (a + b + c + d)
print(sum_of_four_numbers(3, 5))
print(sum_of_four_numbers(3, 5, 8))
print(sum_of_four_numbers(3, 5, 8, 16))
8
16
32
4.2. Args¶
def sum_of_many(show, *nums):
res_sum = 0
for num in nums:
res_sum += num
if show:
print('Suma wynosi {}'.format(res_sum))
return res_sum
wynik = sum_of_many(True, 1, 2, 3, 4, 5, 6, 7)
print(wynik)
Suma wynosi 28
28
4.3. Kwargs¶
def res_sum_zarobkow(**kwargs):
"""sumuje wszystkie osoby"""
res_sum = 0
for czlowiek, zarobki in kwargs.items():
res_sum += zarobki
return res_sum
print(res_sum_zarobkow(Adam=3000, Tomek=2500, Kasia=4320))
9820
4.4. Zadania¶
4.4.1. Pierwsze¶
Nie użytkownik poda swój wiek, sprawdź czy jest pełnoletni,
Niech użytkownik poda liczbę, sprawdź czy num ta jest int czy float
4.4.2. Drugie¶
Stwórz prostą funkcję która będzie sprawdzała siłę hasła (własny algorytm)
Hasło może być przynajmniej 6 literowe, maksymalnie 9
Hasło jest tyle mocniejsze, gdy:
Posiada wielkie litery,
Posiada liczbę,
Posiada znak specjalny (możesz sam zdefiniować listę specjalną np.
['_', '*', '&']
4.4.3. Trzecie¶
Zmodyfikuj kod na liczenie BMI - tak aby była to teraz funkcja, która dodatkowo przyjmuje
Imię,
4.4.4. Czwarte¶
Napisz funkcje
dane_zarobkow(dzial, statystyki=True, *args)która dla podanego dzialu zwróci średnią zarobków działu - zaokrąglij do pełnych złotówekDodatkowo gdy flaga statystyki jest wlączona funkcja opisze więcej statystyk:
Średnią,
Medianę (własna funkcja),
Minimalna wartosc,
Maksymalną wartość
Hint
W celu obliczenia mediany można napisać funkcję. Można także wykorzystać rozwiązanie z bibliotek