@Wolfengo
Я ещё зелёный, сильно не душите

Почему не работает функция?

Сильно ногами не бейте, вопрос, по моему довольно глупый, но я не понимаю почему не правильно работает мой код.
Я написал функцию (мне нужно много раз в моей работе проверять наличие каких-либо ключей для какого-либо юзера). Для этого я написал функцию, к которой собирался просто постоянно обращаться:

Вот мой словарь:
files = {12345: {'photo': 'asd'}}

def see_key(key1, key2=None,):
    if key1 in files:
        user_key = True
        if key2 is files[key1]:
            user_key_key = True
        else:
            user_key_key = False
    else:
        user_key = False
        user_key_key = False

    result = [user_key, user_key_key]
    return result


и сделал такую штучку, которая в зависимости от ответа создаёт словарь или добавляет в словарь ключ со значением:

see_key = see_key(12345, key2='photo')
print(see_key)
if see_key[0] is True and see_key[1] is False:
    files[12345].update({'photo': {'doc': None, 'license1': None, 'license2': None}})
elif see_key[0] is False and see_key[1] is False:
    files[12345] = {'photo': {'doc': None, 'license1': None, 'license2': None}}
print(files)


В итоге, по моему ключу должно быть значение [True, True], но почему-то выдаёт значение [True, False], из-за чего оно делает апдейт ключа, который не нужно трогать
  • Вопрос задан
  • 101 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы