Форум сайта python.su
Добрый вечер!
# Написать функцию которая будет парсить пейлоад команды от датчика и возвращать значения всех параметров. # Проверочные данные: пейлоад = "10FA0E00", функция должна вернуть структуру: {'field1': 'Low', 'field2': '00', 'field3': '01', 'field4': '00', 'field5': '00', 'field6': '01', 'field7': '00', 'field8': 'Very High', 'field9': '00', 'field10': '00', }
Офлайн
Задание похоже на какой-то бред.
Офлайн
py.user.next
Задание похоже на какой-то бред.
# 2. Написать тест на эту функцию используя pytest. Тест получает на вход пейлоад и ожидаемый результат. # Тест должен быть параметризированым несколькими вариантами. import pytest test_data = [("10FA0E00", {'field1': 'Low', 'field2': '00', 'field3': '01', 'field4': '00', 'field5': '00', 'field6': '01', 'field7': '00', 'field8': 'Very High', 'field9': '00', 'field10': '00'}), ] # Format settings - array [sett_byte1 as dict {bit: [size, 'field_name']}, sett_byte2, sett_byte3, sett_byte4] device_settings = [{0: [3, 'field1'], 3: [1, 'field2'], 4: [1, 'field3'], 5: [3, 'field4']}, {0: [1, 'field5'], 1: [1, 'field6'], 2: [1, 'field7'], 3: [3, 'field8'], }, {0: [1, 'field9'], 5: [1, 'field10'] }, {} ] field1 = {'0': 'Low', '1': 'reserved', '2': 'reserved', '3': 'reserved', '4': 'Medium', '5': 'reserved', '6': 'reserved', '7': 'High', } field4 = {'0': '00', '1': '10', '2': '20', '3': '30', '4': '40', '5': '50', '6': '60', '7': '70', } field8 = {'0': 'Very Low', '1': 'reserved', '2': 'Low', '3': 'reserved', '4': 'Medium', '5': 'High', '6': 'reserved', '7': 'Very High', } def get_data_from_payload(payload): return parsed_data
Офлайн
PyTraineeВносит. Тест какойто дебил составил. Данный код синтаксически неверен, его нельзя протестировать.
Эта часть кода ясности не вносит?
Офлайн
PyTraineeНе вносит. Просто какая-то шарада типа “разгадай её сам”.
Эта часть кода ясности не вносит?
PyTraineeЕсли учишься где-то, то это вот признак того, что образование некачественное. Ты не должен догадываться до заданий. Хотя это навык хороший и необходимый для успеха и часто используемый в диком мире (разгадывание загадок или допирание до всей глубины тупизны разработчиков какого-нибудь легаси), но не в процессе обучения битовым операциям надо давать задания на его выработку, а отдельно. Либо ты просто что-то пропустил, прогулял пару какую-то, проспал, а там давали материалы или книжечки раздавали какие-то, в которых все подробности описаны. В общем, у тебя должен быть точный алгоритм разбора payload (нагрузки) по битам, какой бы она ни была.
Подскажите, пожалуйста, то есть, данный код “10FA0E00” я должен преобразовать в структуру?
Отредактировано py.user.next (Апрель 25, 2021 23:11:43)
Офлайн
py.user.nextСпасибо
Офлайн