Обучение Python для новичков
238 subscribers
16 photos
61 videos
295 files
251 links
Канал для тех, кто хочет научиться программировать, но не знает с чего начать. Или вы уже пробовали, но столкнулись с трудностями и забросили. Пришло время собраться с силами и начать снова!
Download Telegram
Привет, друзья! 😊 Пришло время закрепить наши знания о рекурсии на практике. 📝

🔹 Задачи:

📌 Напишите рекурсивную функцию для вычисления суммы всех чисел в списке.
📌 Реализуйте рекурсивную функцию для вычисления числа Фибоначчи.
📌 Напишите рекурсивную функцию для вычисления наибольшего общего делителя (НОД) двух чисел.
📌 Создайте рекурсивную функцию для определения, является ли строка палиндромом.
📌 Реализуйте рекурсивную функцию для нахождения максимального элемента в списке.
📌 Напишите рекурсивную функцию для вычисления степени числа (например, 2^n).
📌 Создайте рекурсивную функцию для подсчета количества элементов в списке.
📌 Реализуйте функцию, которая использует рекурсию для нахождения всех возможных перестановок строки.
📌 Напишите рекурсивную функцию для вычисления произведения всех элементов в списке.
📌 Создайте рекурсивную функцию для нахождения суммы цифр числа.
Ждем ваши решения в комментариях! 👇

#Python #Программирование #Практика
🌟 Сегодня поговорим о вложенных функциях в Python, замыканиях, локальных функциях и переменных nonlocal. Эти концепции помогают создавать более организованный и мощный код. Давайте разберемся, как это работает! 🚀

🔹 Вложенные функции:

Вложенные функции — это функции, определенные внутри других функций. Они могут быть полезны, когда вам нужно организовать логику, которая используется только внутри основной функции.

Пример:

def outer_function(text):
def inner_function():
print(text)
inner_function()

outer_function("Привет, мир!") # Результат: Привет, мир!


Здесь inner_function доступна только внутри outer_function и не может быть вызвана напрямую извне.

🔹 Организация замыкания в Python:

Замыкание — это функция, которая "помнит" значения переменных из окружающего контекста, даже если этот контекст уже завершил выполнение.

Пример замыкания:

def outer_function(text):
def inner_function():
return text
return inner_function

closure = outer_function("Замыкание в действии!")
print(closure()) # Результат: Замыкание в действии!


Здесь inner_function сохраняет значение text из outer_function, даже после завершения её работы.

🔹 Локальные функции:

Локальные функции — это функции, объявленные внутри других функций. Они имеют доступ ко всем переменным внешней функции.

Пример:

def calculate_area(radius):
pi = 3.14
def area():
return pi * (radius ** 2)
return area()

result = calculate_area(5)
print(result) # Результат: 78.5


Здесь area() — это локальная функция, которая имеет доступ к переменным pi и radius из внешней функции calculate_area.

🔹 **Переменные nonlocal:**

Когда нужно изменить переменную из внешней функции внутри вложенной функции, используется ключевое слово nonlocal. Оно позволяет изменять переменные, объявленные во внешней функции, но не в глобальной области.

Пример использования nonlocal:

def outer_function():
count = 0

def inner_function():
nonlocal count
count += 1
return count

return inner_function()

print(outer_function()) # Результат: 1
print(outer_function()) # Результат: 1 (снова 1, потому что внешняя функция заново определяет count)


Здесь nonlocal позволяет изменять значение count внутри inner_function.

Подробнее читайте в полном уроке по ссылке: Вложенные функции и замыкания в Python.
Видео по теме.

#Python #Программирование #УчимсяВместе
Не забывайте пробовать новое и экспериментировать с кодом! Удачи в изучении Python! 🚀