函数题:数据打包与解包 (高教社,《Python编程基础及应用》习题5-3)
现在一台计算机A要通过串口把下述列表中的数据发送到另一台计算机B。发送前,计算机A需要把数据打包成bytearray,然后再通过串口发送;计算机B收到bytearray的原始数据后,需要将原始数据解包成跟发送端一样的列表。请编写两个函数pack及unpack,其中,pack负责将一个列表转换成bytearray或bytes,unpack负责将bytearray或bytes还原成列表。
### 函数接口定义:
python
def pack(d) #参数d为一个列表,返回bytearray或bytes
...
def unpack(d) #参数d为一个bytearray或bytes, 返回列表
### 裁判测试程序样例:
python
i = eval(input())
assert(type(i) == list)
r = pack(i)
assert type(r)==bytearray or type(r)==bytes
o = unpack(r)
print(i==o)
### 输入样例:
in
['2018993', 'Andy Hu', 26, 'male', True, 175.3, 78, [12,99,77]]
### 输出样例:
out
True
<br>**拼尽全力还是不会?参考B站习题讲解**<br>哔哩哔哩up主:[海洋饼干叔叔](https://space.bilibili.com/384177380) [Python课程](https://www.bilibili.com/video/BV1kt411R7uW/) [Python习题](https://www.bilibili.com/video/BV1iL411t7UZ/)[简洁的C和C++](https://www.bilibili.com/video/BV1it411d7zx/)作者每天分享一篇关于C/C++/Python的技术文章,学习编程不迷路。
答案:若无答案欢迎评论
### 函数接口定义:
python
def pack(d) #参数d为一个列表,返回bytearray或bytes
...
def unpack(d) #参数d为一个bytearray或bytes, 返回列表
### 裁判测试程序样例:
python
i = eval(input())
assert(type(i) == list)
r = pack(i)
assert type(r)==bytearray or type(r)==bytes
o = unpack(r)
print(i==o)
### 输入样例:
in
['2018993', 'Andy Hu', 26, 'male', True, 175.3, 78, [12,99,77]]
### 输出样例:
out
True
<br>**拼尽全力还是不会?参考B站习题讲解**<br>哔哩哔哩up主:[海洋饼干叔叔](https://space.bilibili.com/384177380) [Python课程](https://www.bilibili.com/video/BV1kt411R7uW/) [Python习题](https://www.bilibili.com/video/BV1iL411t7UZ/)[简洁的C和C++](https://www.bilibili.com/video/BV1it411d7zx/)作者每天分享一篇关于C/C++/Python的技术文章,学习编程不迷路。
答案:若无答案欢迎评论