Сверка двух таблиц · Шаг 2 из 4
Кто пришёл, кто ушёл
Первый вопрос директора к сверке — кого приняли и кого уволили за месяц. Список табельных номеров он читает глазами, и номер 9 должен стоять раньше 100, а не после него, как у обычной сортировки строк.
Что сделать
Найдите ключи, которые появились в новой таблице и пропали из старой; посчитайте, сколько осталось в обеих.
Что приходит
starayaиnovaya— две таблицы словарями «ключ → строка», как их вернул шаг 1
Что вернуть
Словарь {"dobavleno": […], "propalo": […], "ostalos": число} — списки ключей по-человечески: номер 9 раньше 100.
Допишите функцию sostav в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Программа передаёт этот словарь в отчёт — шаг 4: оттуда берутся строки «Добавлено», «Пропало» и сколько строк было и стало.
staraya = {("1043",): {}, ("1044",): {}, ("1045",): {}}
novaya = {("1044",): {}, ("1045",): {}, ("1046",): {}}
sostav(staraya, novaya)
{'dobavleno': [('1046',)], 'propalo': [('1043',)], 'ostalos': 2}
dobavleno— ключи, которые есть вnovayaи нет вstaraya;propalo— наоборот;ostalos— сколько ключей есть в обеих.- Порядок — сортировка по частям ключа слева направо. Часть из одних цифр сравнивается как число (
"9"раньше"10","10"раньше"100") и стоит раньше любой части с другими знаками; остальные части сравниваются как строки ("А-3","склад"). - Ключи — те же кортежи, что пришли. Пустые таблицы дают пустые списки и
0.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.