题解 | #整数与IP地址间的转换#

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

import sys

def replace_b(org_num):
    i_2_remainder = (len(org_num)-2)%8
    if i_2_remainder != 0:
        ini=''
        for i in range(8-i_2_remainder):
            ini+='0'
        return org_num.replace('0b',ini)
    else:
        return org_num.replace('0b','')

# ip to num
ip =input()
list_ip = map(int,ip.split('.'))
list_ip_2=''
for i in list_ip:
    i_2=bin(i)
    list_ip_2+=replace_b(i_2)
print(int(list_ip_2,2))

# num to ip
num = int(input())
list_num_2 = replace_b(bin(num))
for i in range(4):
    num_2=list_num_2[i*8:(i+1)*8]
    if i < 3:
        print(int(num_2,2),end='.')
    else:
        print(int(num_2,2))

全部评论

相关推荐

06-27 15:15
长安大学 Java
哈哈哈,你是老六:这种就是培训机构骗钱的
点赞 评论 收藏
分享
震撼沃玛一整年:查看图片
点赞 评论 收藏
分享
让资本家给我当牛做马:26的秋招还没开始啊?你找的是实习?实习的话你马上就研三了为什么还要实习?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务