语法错误名称“用户名”未定义python 3

时间:2019-02-04 19:36:35

标签: python-3.x

我的问题是我有多个def语句登录注册骰子。我试图从注册语句到骰子语句调用变量,但它说用户名在定义时未定义。

def register():# registers users
    myfile = open ('User names.csv','a+')
    print('\n~~Registration~~\n\n')
    username = input('Enter your username\n')
    password = input('Enter your password\n')
    new_data = username+','+password
    myfile.write (str(new_data))

def dice():
    player_1_username = username

它说未定义名称“用户名”

3 个答案:

答案 0 :(得分:1)

变量username仅用于注册函数,不能在dice函数中访问。您必须将username传递给dice函数作为参数,或者将username设置为函数外部的全局变量才能访问它。

答案 1 :(得分:0)

我认为您应该将'username'变量设为全局变量。

   global username
   username = input()

答案 2 :(得分:0)

然后尝试:

  def register():# registers users
            myfile = open ('User names.csv','a+')
            print('\n~~Registration~~\n\n')
            username = input('Enter your username\n')
            password = input('Enter your password\n')
            new_data = username+','+password
            myfile.write (str(new_data))
            return username

  def dice():
            player_1_username = register()
  dice() #you must call the function too