Это проблема с областью действия.
Функция first
находится внутри функции all
, вы не можете вызвать first
, если она находится внутри all
извне all
. То, что вы должны сделать, это позвонить all
и получить вызов внутри all
, который запускается first
следующим образом:
list = [1]
list2 =[1]
def all():
num = 3
def first(new_num): #new_num = new_index = 3
if num not in list:
list.append(num)
new_index = list.index(num)
first(new_index) #new_index = num = 3
else:
second(new_num) #assign new_num to the function second()
def second(item): #item = new_num in function first(new_num)
print("hello" , item)
first(num)
all()
Кроме того, ваш отступ немного беспорядок, вы должны использовать 4 пробела для отступа на pep8 .