Может ли параметр функции использоваться в качестве заполнителя для глобальных переменных - PullRequest
0 голосов
/ 11 февраля 2019

Я работаю над маленькой игрой.Я пытаюсь создать функцию переключения, которая должна изменить глобальную переменную с False на True.Таким образом, я хочу контролировать прогресс игрока.Я пытался использовать параметр функции в качестве заполнителя для любой глобальной переменной, которую я хочу переключить, но она не будет работать.

Изменение одной глобальной переменной путем записи ее конкретного имени в функцию работает нормально.Я знаю, что это изменение будет продолжаться только до закрытия программы, но сейчас мне все равно.Все, что я хочу сейчас, это не писать новую функцию для каждой глобальной переменной, которую я хочу переключить.

v = False
y = False 
z = False

def switch(x):
    global x
    x = True

не работает

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Пожалуйста, перейдите на один из многочисленных сайтов, посвященных помощи Python и Pygame, прежде чем перейти сюда с таким простым вопросом.

При этом просто определите переменную ранее, а затем установите ее значение true позже, используя dict

myVars = {
'x': False
'y': 'egg'
#some more vars probable
}
#some code
myVars['x'] = True
0 голосов
/ 11 февраля 2019

Вот для чего словари:

my_vars = dict( x=False, y=False, z=False )

def switch(x):
    global my_vars
    my_vars[x] = True

Но примите к сведению комментарии к вашему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...