Сверка двух таблиц · Шаг 4 из 4
Отчёт о сверке
Светлана Игоревна отправляет итог сверки директору одним сообщением. Директор читает первые три строки; если там «ничего не изменилось» — дальше не читает. Если приняли полсотни человек, полсотни номеров подряд ему не нужны — хватит первых десяти и «и ещё 40».
Что сделать
Соберите из итогов шагов 2 и 3 отчёт о сверке, который читают глазами.
Что приходит
sostav— словарь из шага 2:{"dobavleno": […], "propalo": […], "ostalos": …}izmeneniya— список из шага 3: пары «ключ — изменения»
Что вернуть
Строку отчёта по образцу из «Подробных правил»; ничего не изменилось — одна строка «Таблицы совпадают, строк: N.».
Допишите функцию otchet_sverki в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Программа печатает отчёт в конце. Его же можно вставить в письмо как есть.
Добавились 1046 и 1047, пропал 1043, у 1044 сменилась должность, всего в обеих таблицах осталось 3 строки. Отчёт — пять строк: сколько было и стало (4 и 5), «Добавлено (2): 1046, 1047», «Пропало (1): 1043», «Изменилось (1):» с изменением под ним и «Без изменений: 2.».
sostav = {"dobavleno": [("1046",), ("1047",)], "propalo": [("1043",)], "ostalos": 3}
izmeneniya = [(("1044",), [("dolzhnost", "бухгалтер", "главный бухгалтер"), ("oklad", "85000", "95000")])]
otchet_sverki(sostav, izmeneniya)
'Было строк: 4, стало: 5.\nДобавлено (2): 1046, 1047\nПропало (1): 1043\nИзменилось (1):\n 1044: dolzhnost «бухгалтер» → «главный бухгалтер»; oklad «85000» → «95000»\nБез изменений: 2.'
Образец:
Было строк: 4, стало: 5.
Добавлено (2): 1046, 1047
Пропало (1): 1043
Изменилось (1):
1044: dolzhnost «бухгалтер» → «главный бухгалтер»; oklad «85000» → «95000»
Без изменений: 2.
- Было —
ostalosплюс пропавшие, стало —ostalosплюс добавленные. - Ключ пишется частями через
/:склад / 7. Добавлено (N):и ключи через запятую с пробелом. Если их больше десяти — первые десять и, … и ещё M(M— сколько не показано). То же —Пропало (N):. Строки нет, если N — ноль.Изменилось (N):и под ним по строке на ключ: два пробела, ключ, двоеточие с пробелом и изменения через;— столбец, пробел,«было» → «стало»(стрелка — знак→). Изменений нет — строк раздела нет. Здесь показываются все.Без изменений: K.—ostalosминус число изменившихся строк.- Если ничего не добавилось, не пропало и не изменилось — весь отчёт одна строка
Таблицы совпадают, строк: N., где N —ostalos. - Строки отчёта соединены
\n, в конце перевода строки нет.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.