Найти - Пользователи
Полная версия: Напишите функцию
Начало » Центр помощи » Напишите функцию
1
burrunduk
Напишите функцию update_dictionary(d, key, value), которая принимает на вход словарь d и два числа: key и value.

Если ключ key есть в словаре d, то добавьте значение value в список, который хранится по этому ключу.
Если ключа key нет в словаре, то нужно добавить значение по ключу 2⋅key. Если и ключа 2⋅key нет, то нужно добавить его в словарь и сопоставить ему список из переданного элемента .

Требуется реализовать только эту функцию, кода вне неё не должно быть.
Функция не должна вызывать внутри себя функции input и print.

Пример работы функции:

d = {}
print(update_dictionary(d, 1, -1)) # None
print(d) # {2: }
update_dictionary(d, 2, -2)
print(d) # {2: }
update_dictionary(d, 1, -3)
print(d) # {2: }
botinag
я, честно говоря, не понял часть задания и пример работы функции, но возможно следующий код окажется полезным
def update_dictionary(d, key, value):
    if key in d:
        d[key].append(value)
    elif 2*key in d:
        d[2*key].append(value)
    else:
        d[key] = []
        d[key].append(value)
burrunduk
botinag
я, честно говоря, не понял часть задания и пример работы функции, но возможно следующий код окажется полезным

def update_dictionary(d, key, value):
if key in d:
d.append(value)
elif 2*key in d:
d.append(value)
else:
d =
d.append(value)
не правильно пишет
botinag
burrunduk
не правильно пишет
а что пишет-то?

burrunduk
Если ключа key нет в словаре, то нужно добавить значение по ключу 2⋅key.
2⋅key
⋅ <– что обозначает этот символ? это умножение?

откуда этот код? дайте лучше ссылку на оригинал.
d = {}
print(update_dictionary(d, 1, -1)) # None
print(d) # {2: }
update_dictionary(d, 2, -2)
print(d) # {2: }
update_dictionary(d, 1, -3)
print(d) # {2: }
Stroncy
Вот оригинальный текст:
http://i67.fastpic.ru/big/2014/1126/14/f542428f0c156ee1795abdbf23c4f814.jpg
botinag
def update_dictionary(d, key, value):
    if key in d:
        d[key].append(value)
    elif 2*key in d:
        d[2*key].append(value)
    else:
        d[2*key] = []
        d[2*key].append(value)

>>> d = {}
>>> print(update_dictionary(d, 1, -1))
None
>>> print(d)
{2: [-1]}
>>> update_dictionary(d, 2, -2)
>>> print(d)
{2: [-1, -2]}
>>> update_dictionary(d, 1, -3)
>>> print(d)
{2: [-1, -2, -3]}
Stroncy
botinag Да, Да.. это то что нужно.. Спасибо!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB