CodeLab
145 subscribers
538 photos
20 videos
159 links
Говорим просто о сложном

Обсуждение, новости, материал и сплетни — все здесь https://t.me/CodeLabMLChat
Download Telegram
П Р О Д О Л Ж Е Н И Е

🧑‍💻2️⃣ На моменте, когда происходит вызов factorial(1), срабатывает базовый случай, и функция возвращает 1 (Это был пятый вызов)

🔗‼️3️⃣ После всего это начинается возврат значений, обратный процесс (так как рекурсивные вызовы завершатся и достигнут базового случая)

🟰4️⃣ Идем от обратного,четвертый вызов (Это был factorial(2)) получает результат 1 от factorial(1) и возвращает 2×1=2 (Короче, четвертый вызов получает результат от 5 и возвращает результат) — происходит это все согласно строчке:

return n * factorial(n - 1)


5️⃣⚙️ Третий вызов: factorial(3) получает результат 2 от factorial(2) и возвращает 3×2=6.

6️⃣🟰 Второй вызов: factorial(4), случай опять же не базовый, поэтому вызываем 4 * factorial(3), получаем 24

P.S (Надеюсь вы понимаете, что происходит)

7️⃣🟰 Первый вызов: factorial(5), получает 24 от второго вызова и умножает на 5, возвращая 120, это и будет наш ответ

P.S (Надеюсь вы понимаете, что происходит)

Строка return n * factorial(n - 1) запускает рекурсивный вызов и ждёт его результат. Как только factorial(n - 1) возвращает значение, это значение умножается на n, и результат поднимается обратно, возвращаясь вызову на уровень выше.
7❤‍🔥4👍21🤓1
🧑‍💻 Сегодня вам подготовил тестики по последним изученным темам, ниже будут задания и варианты ответов
__________
⬇️⬇️⬇️
❤‍🔥42🥰1🤯1🤓1
#1

numbers = [1, 2, 3]
result = ", ".join(str(num) for num in numbers)
print(result)
7❤‍🔥42👍1🤓1
👍4❤‍🔥21🤓1
#2

def sum_values(a, b, c):
return a + b + c

def wrapper(*args):
return sum_values(*args)

print(wrapper(5, 10, 15))
5👍41❤‍🔥1
#3

def calculate_sum(*args, **kwargs):
total = sum(args)
for key, value in kwargs.items():
total += value
return total

print(calculate_sum(1, 2, 3, num1=4, num2=5))
3🤯51❤‍🔥1🤓1
❤‍🔥4🤯31🤓1
#1

text = "Learn Python step by step"
result = text.split(" ", 3)
print(result)
8❤‍🔥31🥰1
#2

def Code_lab_func(a, b, *args, **kwargs):
result = a + b
for arg in args:
result += arg
for key in kwargs:
result += kwargs[key]
return result

print(Code_lab_func(1, 2, 3, 4, extra1=5, extra2=6.5))
4❤‍🔥41🥰1
❤‍🔥31🤯1👀1
🧑‍💻 Гайс, завтра разберем какой нибудь код или разберем прошлые вопросы (в любом случае, завтра будет нормальный пост)

#1

x = 5
def test():
global x
x += 1
return x

print(test())
6❤‍🔥4🥰1
❤‍🔥4👍1
#2

def func(a, b=5, *args, d=8, **kwargs):
return a + b + d

print(func(1, 2, 3, d=4, e=5))
3👨‍💻3🤡1
❤‍🔥3🤯1🤡1
🔗 Всем доброе утро! Сорянчик, что не выпускал посты, неделя выдалась тяжелой, поэтому дал время себе отдохнуть 🥱

Разбираем вот такой несложный код:
def sum_values(a, b, c):
return a + b + c

def wrapper(*args):
return sum_values(*args)

print(wrapper(5, 10, 15))


0️⃣ Как обычно объявляем функцию:

def sum_values(a, b, c):
return a + b + c


1️⃣ Объявляем вторую функцию 🟰wrapper()🟰. В виде аргумента будет 🟰*args🟰 (Позиционные аргументы, для тех, кто забыл → Сама функция *args передает произвольное количество аргументов в виде кортежа)

def wrapper(*args):
return sum_values(*args)


🔗 Во второй строчке мы как раз вызываем первую функцию 🟰sum_values()🟰 и с помощью *args переданные аргументы "передаются" в 🟰sum_values🟰

2️⃣ Дальше просто вызываем вторую функцию print(wrapper(5, 10, 15))
_______________________________

3️⃣ Кароч, вызвали мы wrapper(5, 10, 15) (5, 10, 15) — эти самые аргументы передаются в wrapper и собираются в кортеж args = (5, 10, 15) Внутри wrapper, когда мы вызываем 🟰sum_values(*args)🟰, кортеж (5, 10, 15) распаковывается, и sum_values получает три отдельных аргумента: a=5, b=10, и c=15 по итогам, sum_values вычисляет сумму: 5 + 10 + 15 = 30
15👍4❤‍🔥1🥰1🤯1
Создать отдельный канал для машинного обучения?
Anonymous Poll
59%
Да
35%
Нет
6%
Нет (да)
🤡8🤓2❤‍🔥1👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🧑‍💻 Гайс, срочно переходим в 🔗Н А Ш Н О В Ы Й К А Н А Л 🔗 по машинному обучению для полного кайфа. Этот канал так и остается под изучение Python и других прелестей программирования (и не только).
👨‍💻3👀2🤯1🤡1🤓1
#1

def func(x, y=[]):
y.append(x)
return y

print(func(1))
print(func(2, [3]))
print(func(4))
3👍3❤‍🔥11🥰1