Как получить доступ к локальной переменной из другой функции в Python - PullRequest
0 голосов
/ 04 мая 2020

Что не так с этим кодом?

def function1():
        num1 = input("enter a number")
        num1 != num2:
            print("Access")
        else:
            print("Error")
    def function2():
        num2 = input("enter number")
        if num2 != num1:
            print("Access")
        else:
            print("Error")
  if num1 != num2:
NameError: name 'num2' is not defined

Ответы [ 2 ]

2 голосов
/ 04 мая 2020

Это самый простой способ.

def function1():
    global num1
    num1 = input("enter a number")


def function2():
    global num2
    num2 = input("enter number")


function1()
function2()


if num2 != num1:
    print("Access")
else:
    print("Error")
1 голос
/ 04 мая 2020

Используйте ключевое слово global, чтобы сделать локальную переменную доступной для всех. Как: -

def function1():
    global num1
    num1 = input("enter a number")

def function2():
    global num2 
    num2 = input("enter number")

* Примечание: - Это не будет работать при вызове функции, потому что когда вы вызываете первую функцию, вы не вызывали function2 (), поэтому будет отображаться nameError. Основная цель ответа - представить вам ключевое слово global.

РЕДАКТИРОВАТЬ

def function1():
    return input("enter a number")

def function2():
    return input("enter number")

num1 = function1()
num2 = function2()

if num2 != num1:
    print("Access")
else:
    print("Error")

...