NameError: имя 'x' не определено (Python 3.7) - PullRequest
0 голосов
/ 10 сентября 2018

Я новичок в Python, Я изучаю «если и еще» условие в Python 3.7.

Так что проблема в том, когда я набираю этот код

def age_group(user_age):

x = int(input("Enter your age :"))
return x

if x < 150 :
    print(age_group(x))
else :
    print("Either he is GOD or he is dead")

Но после выполнения я получаю NameError: -

Traceback (most recent call last):
File ".\Enter Age.py", line 6, in <module>
if x < 150 :
NameError: name 'x' is not defined

1 Ответ

0 голосов
/ 10 сентября 2018

Да, x существует только в области действия age_group. Переменные, используемые в функциях в Python, обычно существуют только в этой области, если вы не используете ключевое слово global или не делаете какой-то другой хитрости. В любом случае, вы должны вернуть это значение вызывающей стороне и присвоить его переменной. Рабочий пример (я также удалил один неиспользованный аргумент):

def age_group():
  return int(input("Enter your age :"))

x = age_group()
if x < 150:
  print(x)
else:
  print('Either he is GOD or he is dead')
...