Войдите, чтобы продолжить.
Делим счёт · Шаг 4 из 4
Отчёт для человека
Словари и списки кортежей человеку показывать нельзя. Нужен текст, который читается вслух за столом и не требует объяснений.
Что сделать
Сложите текст, который можно прочитать вслух за столом, — кто сколько переплатил и кому переводить.
Что приходит
balansy— словарь «имя → баланс»perevody— переводы из шага 3, тройки(кто, кому, сколько)
Что вернуть
Текст: по строке на участника — «переплатил 700 ₽», «должен 500 ₽» или «в расчёте», имена выровнены, — пустая строка и по строке на перевод; точный вид — в «Подробных правилах».
Допишите функцию otchet в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
В проекте
Программа печатает то, что вы вернули, на команду «готово». Решите шаг — и вместо словарей и кортежей человек увидит понятный текст.
Для Ивана, Петра и Ани получится: Иван переплатил 700 ₽, Пётр должен 500 ₽, Аня должен 200 ₽, пустая строка, Пётр → Иван: 500 ₽ и Аня → Иван: 200 ₽.
balansy = {"Иван": 700, "Пётр": -500, "Аня": -200}
perevody = [("Пётр", "Иван", 500), ("Аня", "Иван", 200)]
otchet(balansy, perevody)
'Иван переплатил 700 ₽\nПётр должен 500 ₽\nАня должен 200 ₽\n\nПётр → Иван: 500 ₽\nАня → Иван: 200 ₽'
Функция принимает словарь «имя → баланс» и список переводов из третьего шага. Возвращает готовый текст. По строке на участника в виде «имя переплатил 700 ₽», «имя должен 500 ₽» или «имя в расчёте»; имена выровнены по самому длинному, после имени два пробела. Дальше пустая строка, затем по строке на перевод в виде «Пётр → Иван: 500 ₽», а если переводов нет — «Все в расчёте.». Пустой словарь даёт «Никого нет.».
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.