如何在函数内调用变量,然后在另一个函数中使用它

时间:2014-11-28 13:54:23

标签: python

我正在为自己做一个小项目来理解python中的函数if if语句。我想在用户函数中调用“name”并在丛林函数中使用它。

def user():
    global name
    name = raw_input("Whats your name?")

def jungle():

    print name, "Please, Select your Enemy"
    print '\n'.join(jungle_enemy)

    enemy = raw_input('> ')

   if enemy == "1":
        print "The Lion Will eat you alive."
        game_over()
        exit_countdown()

    elif enemy == "2":
        print "The Jaguar will tear you apart."
        game_over()
        exit_countdown()

    elif enemy == "3":
        print "The Snake will eat you whole."
        game_over()
        exit_countdown()

    else:
        try_again("Are You Noob? \nNone of the Choice!")
        jungle()

当我运行此代码时。它给了我一个错误。 NameError:未定义全局名称'name'。

1 个答案:

答案 0 :(得分:2)

一般来说,全局变量是一个坏主意。最好将变量传递给任何需要它的人:

def user():
    return raw_input("Whats your name?")

def jungle(name):
    print name, "Please, Select your Enemy"
    # etc.

然后调用这样的函数

username = user()
jungle(username)

如果您 使用全局名称,则需要在使用该变量的所有函数中使用global语句 - 因此您需要在{\ n}添加global name jungle()的开头。但不要这样做。查看全局变量采用JavaScript的位置 - 您不希望在Python中执行此操作。