Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 6, 2022 14:58:33

KamilKamil
Зарегистрирован: 2022-07-26
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста понять, как аргумент получил конкретное число

Ребят,
помогите пожалуйста понять, каким образом x стал равен 10? Второй день смотрю на код и не могу понять(((
И если не сложно, посмотрите пожалуйста комментарии(они упорядочены), я их правильно понял?

   
def a(func, arg):
	return func(func(arg)) #2: Соответственно, эту строку можно читать так: return b(b(10))
def b(x): #3: = b(10)
    return x + 5 #4: = 10+5 = 15
print(a(b, 10)) #5: 15+5 = 20
#1: func = b, arg=10

#Все понял, за одни исключением: как x = 10



Заранее спасибо!!!!

Отредактировано FishHook (Авг. 6, 2022 15:53:06)

Офлайн

#2 Авг. 6, 2022 15:56:21

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Помогите пожалуйста понять, как аргумент получил конкретное число

KamilKamil
Заранее спасибо!!!!
Но ваша программа пишет 20 а не 10



Офлайн

#3 Авг. 6, 2022 15:59:49

KamilKamil
Зарегистрирован: 2022-07-26
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста понять, как аргумент получил конкретное число

Все правильно. Результат кода = 20.
Но в процессе выполнения кода, “x” становится равен 10. Я не могу понять, как это происходит.

Офлайн

#4 Авг. 6, 2022 21:16:55

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Помогите пожалуйста понять, как аргумент получил конкретное число

 def a(func, arg):# (функция, аргумент = 10)
    # return func(func(arg) разложим по строкам этот момент
    a = func(arg) # вызываем функц b(10) - вернет 15. вот тут х получает значение 10 из аргумента
    a_1 = func(a)# еще раз вызываем функц b(15) - вернет 20 где аргумент предыдущий вызов b
    return a_1
def b(x): 
    return x + 5
print(a(b, 10))

Офлайн

#5 Авг. 26, 2022 13:17:43

KamilKamil
Зарегистрирован: 2022-07-26
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста понять, как аргумент получил конкретное число

marvellik
Спасибо)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version