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

整数与IP地址间的转换

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

while 1:
    try:
        ip_address = list(map(int, input().split('.')))
        ip_number = int(input(), 10)

        # 先做ip地址转十进制
        ip_bin = ''
        for i in range(len(ip_address)):
            bin_str = '0' * (8 - len(bin(ip_address[i])[2:])) + bin(ip_address[i])[2:]
            ip_bin = ip_bin + bin_str
        ip_bin = '0b' + ip_bin
        ip_10 = int(ip_bin, 2)
        print(ip_10, end='\n')

        # 再做十进制转ip地址
        ip_list = []
        ip_10 = '0' * (32 - len(bin(ip_number)[2:])) + bin(ip_number)[2:]
       
        for j in range(4):
            bin_str = '0b' + ip_10[j*8:(j+1)*8]
            b = str(int(bin_str, 2))
            ip_list.append(b)
        print('.'.join(ip_list))

    except:
        break

全部评论

相关推荐

03-01 21:45
中北大学 Python
孤蓝长空:请你说一下为什么你用websocket而不是http,请你说一下什么是rpc,为什么用rpc,你的rpc的传输协议是JSON,xml还是什么 请你描述一下你的鉴权流程(完整的) 我问的是第二个项目,随便问的哈哈哈
开工第一帖
点赞 评论 收藏
分享
在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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