1 Востаннє редагувалося ihor7 (15.03.2017 23:46:23)

Тема: допоможіть виішити задачу

можете хтось допомогти виішити задачу на Python 3.4?

от мій код:

a = {'a':'1','b':'2','c':'3',}
b = input('Ввести словник: ')
for i in b:
    if a.get(i) != None:
        print ('True')
    else:
        print('False")

Потрібно написати код, який приймає словник "b" і повертає True, при наступних умовах:

- якщо словник 'b' є точною частиною словника 'а';
- якщо словник 'b' містить одну чи більше пар ключ-значення в словнику 'а';
- При чому словник 'b' не повинен містити абсолютно всі пари ключ-значення словника 'а', достатньо навіть однієї. Співпадіння повинно бути точним  - ключ-значення == ключ значення.

False повертає в тому випадку, якщо словник 'b' містить хоч би 1 ключ або значення, яке не відповідає клюам або значенням словника 'а', навіть якщо словник 'b' містить всі пари ключ-значення, які співпадають з словником 'а', будь який лишній ключ або будь яке лишнє значення, яке не виявлено в словнику 'а', даж нам False.

2

Re: допоможіть виішити задачу

ihor7, ви порушуєте одразу пп. 3.4, 3.5, 3.6 і навіть трохи 3.7 Правил. Останнє - дрібниця, а решту негайно виправіть.

3

Re: допоможіть виішити задачу

переніс питання окрему тему

4 Востаннє редагувалося koala (16.03.2017 00:54:40)

Re: допоможіть виішити задачу

"Приймає" має стосуватися функції, а не input-а. input завжди повертає стрічку. Тобто має бути щось на кшталт

def is_subdict(b,a): #чи є b підсловником a

Що ж до коду. то тут стане в нагоді функція all та метод словника items:

    return all(a[key]==value for key, value in b.items())