Проблема с выводом словаря

Имеется словарь d. Напишите программу, которая в цикле принимает от пользователя пары чисел: key и value. Если ключ key есть в словаре d, то добавьте значение value в список, который хранится по этому ключу. Если ключа key нет в словаре, то нужно добавить значение в список по ключу 2*key. Если нет и ключа 2*key, то нужно добавить ключ 2*key в словарь и сопоставить ему список из переданного элемента [value]. Вывести полученный словарь.

d = {}
while(True):
    key = input()
    if key == "":
        break
    value = input()
    if value == "":
        break
if key in d:
    d[key].append(value)
elif 2 * key in d:
    d[2 * key].append(value)
else:
    d[2 * key] = []
    d[2 * k].append(value)
print(d)

Словарь выводится не так, как нужно.


Ответы (1 шт):

Автор решения: splash58
if key in d:
    d[key].append(value)
else:
    d.setdefault(2 * key, []).append(value)
print(d)
→ Ссылка