题目
一个IP地址是由四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。如果输入的数字不足32位或超过32位或输入的数字中有非0和1的数字时输出“data error!”。
要求:综合使用列表,集合和生成式。
示例
参考代码
str_IP = input("请输入32位的二进制IP地址:\n")
for i in range(len(str_IP)):
if str_IP[i] != '0' and str_IP[i] != '1' or len(str_IP) != 32:
print("data error!")
break
transformation_IP = [str(int(str_IP[i * 8:(i + 1) * 8], 2)) for i in range(4)]
print('.'.join(transformation_IP))
运行结果
说明
个人能力有限,仅供参考,共同学习!