+ 3
Может ли быть функция подфункцией другой функции?
Пример: def num() x = float(input('Enter first number: ')) y = float(input('Enter second number: ')) def add() num() print(x+y) У меня лично выдает ошибку, поэтому если это и возможно, то прошу написать как именно. За ранее спасибо!
2 Answers
+ 5
У Вас x и y определяются только внутри функции num и никуда не передаются. Потому и ошибка – name 'x' not defined.
Ну да, функции бывают встроенными, но и в этом случае определённые в них переменные нигде, кроме как в самой функции, не доступны.
Попробуйте или вызывать add в num, передавая x и y как параметры, или возвращать (return) x и y и объявлять их в add так:
def num():
x=....
y=....
return x, y
def add():
x, y = num()
print(x+y)
+ 2
В Python есть понятие - область видимости. Функция это наименьшая часть области видимости в вашей программе. Функция ниже ничего не знает о переменной х из функции выше - разные области видимости.