2017-01-08 2 views
0

У меня есть глобальная переменная, которую я меняю в функции, но когда я вызываю глобальную переменную позже в коде в другой функции, она не сохраняет изменение при первом вызове переменной:сохранение измененных данных глобальные переменные

name = "noname" 

    def username(): 
     print ("It would help if I had a name to go by, please enter a name.") 
     global name 
     name = input() 

    def character(): 
     global name 
     print ("Character overview:\nName:"+name+"") 

И вывод символа() не является именем вместо ввода. Есть ли способ сохранить изменения в первой функции?

+1

У вас есть дополнительная информация о том, как вы это называете? Используя выше, а затем просто вызывая 'username()', а затем 'character()', он отлично работает. Должно быть что-то еще мешающее, что здесь не показано. –

ответ

0

Это работает для меня.

name = "noname" 

def user(): 
    global name 
    name = input() 

def char(): 
    # Works with or without global here 
    print(name) 

user() 
char() 
+0

Это помогло, спасибо, но что такое импорт os? – Frank

+0

Вы правы os не нужны для ввода() здесь – sezi80

Смежные вопросы