Функции и рекурсия в программировании
Краткая теория
1. Что такое функция?
Функция — это именованный блок кода, который выполняет определённую задачу и может быть вызван из других частей программы. Функция может принимать аргументы (входные данные) и возвращать результат с помощью оператора return.
def square(x):
return x * x
result = square(5) # result = 25
print(result) # выведет 25
- Функция выполняется только в момент вызова.
returnнемедленно завершает функцию и возвращает значение.- Если
returnнет, функция возвращаетNone.
2. Функция и ветвление
Внутри функции можно использовать условия. В зависимости от аргумента функция может возвращать разные значения.
def check(number):
if number > 10:
return "Большое"
else:
return "Маленькое"
print(check(7)) # Маленькое
print(check(15)) # Большое
3. Функция и циклы
Функцию можно вызывать многократно внутри цикла. При каждом вызове аргументы могут меняться.
def square(n):
return n * n
for i in range(1, 4):
print(square(i)) # 1, 4, 9
Функция также может накапливать результат в цикле while.
4. Рекурсия
Рекурсия — это приём, когда функция вызывает саму себя. Обязательно нужен базовый случай — условие, при котором рекурсия останавливается.
def countdown(n):
if n == 0:
print("Старт!")
else:
print(n)
countdown(n - 1)
countdown(3)
# 3
# 2
# 1
# Старт!
Рекурсивная функция может возвращать значение, которое собирается из результатов вложенных вызовов:
def sum_to_n(n):
if n == 1:
return 1
else:
return n + sum_to_n(n - 1)
print(sum_to_n(4)) # 10
5. Важно помнить
- Функция выполняется только при вызове.
returnвозвращает значение и завершает функцию.- В рекурсии обязательно должен быть базовый случай.
- Порядок операторов внутри функции влияет на результат (например,
printдо или после рекурсивного вызова).


