Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2021 18:42:42

PyTrainee
Зарегистрирован: 2021-04-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

Добрый вечер!

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

Подскажите, пожалуйста, то есть, данный код “10FA0E00” я должен преобразовать в структуру?
Прошу прощения за тупость

Офлайн

#2 Апрель 24, 2021 21:50:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

Задание похоже на какой-то бред.



Офлайн

#3 Апрель 25, 2021 11:27:36

PyTrainee
Зарегистрирован: 2021-04-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

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

Эта часть кода ясности не вносит?

Офлайн

#4 Апрель 25, 2021 22:05:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

PyTrainee
Эта часть кода ясности не вносит?
Вносит. Тест какойто дебил составил. Данный код синтаксически неверен, его нельзя протестировать.



Офлайн

#5 Апрель 25, 2021 23:08:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9874
Репутация: +  854  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

PyTrainee
Эта часть кода ясности не вносит?
Не вносит. Просто какая-то шарада типа “разгадай её сам”.

PyTrainee
Подскажите, пожалуйста, то есть, данный код “10FA0E00” я должен преобразовать в структуру?
Если учишься где-то, то это вот признак того, что образование некачественное. Ты не должен догадываться до заданий. Хотя это навык хороший и необходимый для успеха и часто используемый в диком мире (разгадывание загадок или допирание до всей глубины тупизны разработчиков какого-нибудь легаси), но не в процессе обучения битовым операциям надо давать задания на его выработку, а отдельно. Либо ты просто что-то пропустил, прогулял пару какую-то, проспал, а там давали материалы или книжечки раздавали какие-то, в которых все подробности описаны. В общем, у тебя должен быть точный алгоритм разбора payload (нагрузки) по битам, какой бы она ни была.



Отредактировано py.user.next (Апрель 25, 2021 23:11:43)

Офлайн

#6 Апрель 27, 2021 20:02:30

PyTrainee
Зарегистрирован: 2021-04-24
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Дайте пинок, пожалуйста!

py.user.next
Спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version