Есть ли способ, чтобы пользователь мог оставить пустыми виджеты, не вызывая проблемы позже? - PullRequest
0 голосов
/ 04 мая 2019

У меня возникли проблемы с виджетом ввода. Я использую ввод для вычисления некоторых вещей, но я хочу иметь возможность оставить некоторые записи пустыми, не вызывая проблемы. Прямо сейчас я получаю ошибку, если у меня есть некоторые из них пустыми. Это потому, что я использую .get () для вызова экземпляров из словаря, чтобы я мог рассчитывать с их атрибутами. Примерно так:

  lipidia = float(kouti1p)*float(dic.get(kouti1f).lip) + float(kouti2p)*float(dic.get(kouti2f).lip) + float(kouti3p)*float(dic.get(kouti3f).lip)

Я попытался создать вложенный цикл, который будет проверять цену входа и, если ее "" будет вставлять 0 значений в мои расчеты, но это не работает: для чисел:

   if dic_kouthkia.get(n) == "" :

        dic_kouthkiaf.get(dic_kouthkia.get(n)).insert(0,vrwmi)
        dic_kouthkiaf.get(dic_kouthkia.get(n)).focus_set()

        dic_kouthkiaa.get(dic_kouthkiap.get(n)).insert(0,0)
        dic_kouthkiaa.get(dic_kouthkiap.get(n)).focus_set()

когда я иду и добавляю значения во все поля ввода, все работает нормально ... даже если я использую 0, чтобы скрыть их от результата. когда я оставляю их пустыми, у меня возникает проблема.

1 Ответ

1 голос
/ 04 мая 2019

использовать ноль в качестве значения по умолчанию для get()

пример:

mydict.get('someKey', 0) # if key is not existed return zero

дальнейшее объяснение:

dict.get(key, default) Если ключ существует в dict, то возвращается значение для этого ключа. Если он не существует, то возвращается значение по умолчанию, указанное в качестве второго аргумента get().

в случае, если второй аргумент не указан, например dict.get(key), значением по умолчанию является None

ссылки: здесь и здесь

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