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

整数与IP地址间的转换

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

import sys
lines = []
while True:
    try:
        lines.append(input())
    except:
        break


def parse_ip(ip):
    ip_list = ip.split(".")
    new_ip = ''.join(map(lambda x: bin(int(x))[2:].zfill(8), ip_list))
    return int(new_ip,2)


def parse_addr(addr):
    addr_list = []
    addr = bin(int(addr))[2:].zfill(32)
    for i in range(0,32,8):
        addr_parse = str(int(addr[i:i+8],2))
        addr_list.append(addr_parse)
        i += 8
    return '.'.join(addr_list)

print(parse_ip(lines[0]))
print(parse_addr(lines[1]))

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务