Найти - Пользователи
Полная версия: Помогите пожалуйста понять, как аргумент получил конкретное число
Начало » Python для новичков » Помогите пожалуйста понять, как аргумент получил конкретное число
1
KamilKamil
Ребят,
помогите пожалуйста понять, каким образом 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
KamilKamil
Заранее спасибо!!!!
Но ваша программа пишет 20 а не 10
KamilKamil
Все правильно. Результат кода = 20.
Но в процессе выполнения кода, “x” становится равен 10. Я не могу понять, как это происходит.
marvellik
 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))
KamilKamil
marvellik
Спасибо)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB