Найти - Пользователи
Полная версия: Дайте пинок, пожалуйста!
Начало » Python для новичков » Дайте пинок, пожалуйста!
1
PyTrainee
Добрый вечер!
 # Написать функцию которая будет парсить пейлоад команды от датчика и возвращать значения всех параметров.
# Проверочные данные: пейлоад = "10FA0E00", функция должна вернуть структуру:
 {'field1': 'Low',
 'field2': '00',
 'field3': '01',
 'field4': '00',
 'field5': '00',
 'field6': '01',
 'field7': '00',
 'field8': 'Very High',
 'field9': '00',
 'field10': '00',
 }

Подскажите, пожалуйста, то есть, данный код “10FA0E00” я должен преобразовать в структуру?
Прошу прощения за тупость
py.user.next
Задание похоже на какой-то бред.
PyTrainee
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

Эта часть кода ясности не вносит?
doza_and
PyTrainee
Эта часть кода ясности не вносит?
Вносит. Тест какойто дебил составил. Данный код синтаксически неверен, его нельзя протестировать.
py.user.next
PyTrainee
Эта часть кода ясности не вносит?
Не вносит. Просто какая-то шарада типа “разгадай её сам”.

PyTrainee
Подскажите, пожалуйста, то есть, данный код “10FA0E00” я должен преобразовать в структуру?
Если учишься где-то, то это вот признак того, что образование некачественное. Ты не должен догадываться до заданий. Хотя это навык хороший и необходимый для успеха и часто используемый в диком мире (разгадывание загадок или допирание до всей глубины тупизны разработчиков какого-нибудь легаси), но не в процессе обучения битовым операциям надо давать задания на его выработку, а отдельно. Либо ты просто что-то пропустил, прогулял пару какую-то, проспал, а там давали материалы или книжечки раздавали какие-то, в которых все подробности описаны. В общем, у тебя должен быть точный алгоритм разбора payload (нагрузки) по битам, какой бы она ни была.
PyTrainee
py.user.next
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB