我的问题是我有多个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
它说未定义名称“用户名”
答案 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