Войти Создать аккаунт

CSV и JSON · 9 из 15

Звёздный потолок

Вера заказала для второго зала кофейни роспись потолка — летнее ночное небо. Художник прислал эскиз файлом JSON: в нём звёзды с координатами и яркостью и созвездия — какие звёзды соединить линией. Художник торопился: в паре мест в созвездии стоит звезда, которой в списке нет. Расписывать по такому файлу всё равно надо — линии к несуществующим звёздам просто пропустить.

Что сделать

Разберите эскиз потолка из JSON и выпишите отрезки всех линий созвездий; линии к звёздам, которых нет в списке, пропустите.

Что приходит

  • tekst — JSON строкой: объект с ключами "zvezdy" и "sozvezdiya"

Что вернуть

Список кортежей (x1, y1, x2, y2) — по отрезку на линию, в порядке созвездий и линий в файле.

Допишите функцию linii в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

В эскизе три звезды Лиры и две линии: Вега — Шелиак и Шелиак — Сулафат. Ответ — два кортежа: от Веги (0, 0) к Шелиаку (2, -3) и от Шелиака к Сулафату (4, -3).

Тот же пример кодом
Вызов
linii('{"zvezdy": {"Вега": [0, 0, 1], "Шелиак": [2, -3, 3], "Сулафат": [4, -3, 3]}, "sozvezdiya": {"Лира": [["Вега", "Шелиак"], ["Шелиак", "Сулафат"]]}}')
Вернуть
[(0, 0, 2, -3), (2, -3, 4, -3)]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.