Функция - это именованный блок кода, к которому можно обратиться из любого места программы. У функции есть имя и список входных параметров, а также возвращаемое значение.
Функция позволяет использовать в программе один и тот же фрагмент кода несколько раз.
Oбъявление функции в Python выглядит так:
def function_name(argument1, argument2, ...):
# код функции
# def - DEclare Function - "объявить функцию"
# function_name - имя функции
# (argument1, argument2, ...) - список аргументов, поступающих на вход функции при ее вызове
# тело функции - это весь код, который идет после двоеточия
# Объявление функции
def hello(name):
print('Hello, ' + name)
# Вызовы функции
hello('Max')
hello('Ivan')
hello('Alex')
hello('Kate')
# Вывод
>> Hello, Max
>> Hello, Ivan
>> Hello, Alex
>> Hello, Kate
Оператор return возвращает значение из функции.
Представьте себе обычный калькулятор. Вы вводите первое число, операцию и второе число. Калькулятор возвращает нам результат операции над этими числами. Всё просто, не так ли? Функции точно так же умеют возвращать значение с помощью специального оператора return.
# Объявление функции
def sum2(a, b):
return a + b
# Вызовы функции
s1 = sum2(10, 2)
s2 = sum2(108, 100)
s3 = sum2(3, 1)
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
>> s1 = 12
>> s2 = 208
>> s3 = 4
# Функция умножения двух чисел
def mult2(a, b):
return a * b
# Вызовем нашу функцию
m1 = mult2(10, 2)
m2 = mult2(108, 100)
m3 = mult2(3, 1)
print(f'm1 = {m1}')
print(f'm2 = {m2}')
print(f'm3 = {m3}')
>> m1 = 20
>> m2 = 10800
>> m3 = 3
Для параметров функции можно указывать значения по умолчанию. Это дает возможность вызывать функцию с меньшим числом параметров.
# Аргумент name по умолчанию равен 'world'
def hello(name='world'):
print('Hello, ' + name)
hello()
hello('Ivan')
>> Hello, world
>> Hello, Ivan
# Написать функцию square(), вычисляющую квадрат числа.
def square(number):
return number * number # Возвращаем результат работы функции обратно в программу
a = square(2)
print(a)
>> 4
2. Периметр
# Напишите функцию perimetr, вычисляющую периметр прямоугольника со сторонами a и b.
def perimetr(a, b):
return 2 * (a + b)
p = perimetr(4, 3)
print(p)
>> 14
3. Четное число
# Напишите функцию isEven, возвращающую True, если число четное, и False, если - нечетное.
def isEven(x):
return x % 2 == 0
print(isEven(10))
print(isEven(11))
>> True
>> False
# Напишите функцию amountList, которая возвращает сумму всех элементов списка.
def amountList(lst):
amount = 0
for x in lst:
amount += x
return amount
print(amountList([1, 2, 3]))
mylist = [1, 2, 4, 8, 16]
s = amountList(mylist)
print(f'Сумма списка {mylist} равна {s}')
>> 6
>> Сумма списка [1, 2, 4, 8, 16] равна 31
# Напишите функцию fib, которая возвращает n-ное число Фибоначчи.
# Последовательность Фибоначчи выглядит так: 1 1 2 3 5 8 13 21 34
def fib(n):
a, b = 0, 1
if n == 0: return 0
for i in range(1, n):
a, b = b, a + b
return b
print(fib(2))
print(fib(3))
print(fib(4))
print(fib(5))
print(fib(10))
>> 1
>> 2
>> 3
>> 5
>> 55
# Напишите функцию fact, вычисляющую значение факториала числа N.
# Факториал числа - это произведение всех чисел от 1 до N.
# Например, факториал числа 5 равен 120 (5! = 120).
def fact(n):
result = 1
while n > 1:
result *= n
n -= 1
return result
print(fact(2))
print(fact(3))
print(fact(4))
print(fact(5))
>> 2
>> 6
>> 24
>> 120
Напишите функцию, которая получает в качестве аргумента радиус круга и находит его площадь.
# Не забудьте написать функцию circle...
print(circle(4))
print(circle(1))
# Вывод:
>> 50.24
>> 3.14
Напишите функцию, которая возвращает True, если число делится на 3, и False, если - нет.
# Не забудьте написать функцию three...
print(three(4))
print(three(3))
# Вывод:
>> False
>> True
Напишите функцию, которая возвращает максимальный элемент из переданного в нее списка.
# Напишите функцию maxList...
mylist = [1, 3, 2]
print(maxList(mylist))
# Вывод:
>> 3
Напишите функцию, которая возвращает количество четных элементов в списке.
# Напишите функцию evenCounter...
mylist = [1, 10, 2, 4, 6]
evens = evenCounter(mylist)
print(even)
# Вывод:
>> 4
Напишите функцию, которая возвращает список с уникальными (неповторяющихся) элементам.
# Напишите функцию unique...
mylist = [1, 1, 2, 1, 3, 2, 3]
print(unique(mylist))
# Вывод:
>> [1, 2, 3]