Здравствуйте. Нужно перебрать словарь на ключ-значение и если ключ совпадает с переданным в функцию - изменить значение этого ключа на 1, а остальные на 0.
Для примера в словаре только две пары. Но это нужно для движка Renpy, а не для чистого питона.
########
Кажется я понял как нужно, но вопрос удалять пока не буду, вдруг чего...
for i in dic.keys():
if dic[i] == name:
dic[i] = x
else:
dic[i] = y
Вроде так нужно.
########
Как я делаю:
init python:
stats_info_names = {
'anna_info': 0,
'kira_info': 0,
}
def change_bool_dict(dic, name, x, y):
for i in dic.keys():
if i[0] == name:
i[1] = x
else:
i[1] = y
# Как вызываю саму функцию
vbox:
if anna_meet:
textbutton 'Anna':
action Function(change_bool_dict, stats_info_names, anna_info, 1, 0)
Если не знакомы с Renpy - не важно. Просто синтаксис другой, суть та же:
Действие для кнопки - "action", затем вызов функции и название функции "change_bool_dict",
и передача в неё 4 аргументов.
Нужно проверить словарь на наличие второго аргумента "anna_info",
и изменить его значение на 1, а остальным на 0. Так как объектов в словаре будет больше чем два, и они будут меняться на разных кнопках, хочу массово менять всем значения, чтобы скрывать их из виду, и отображать только один текущий объект.
Но я получаю ошибку "typle object does not support item assignment"
Вроде верно перебираю словарь, но похоже, что нет.