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

整数与IP地址间的转换

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

while True:
    try:
        s1 = input()
        s2 = input()
        if "." in s1:
            ip1 = s1
        else:
            ip1 = s2
        
        ip1 = ip1.replace("."," ").split()
        str1 = ''
        for i in ip1:
            a = bin(int(i,10))[2:]
            if len(a) < 8:
                a = '0'*(8-len(a)) + a
            str1 += a
        s = int(str1,2)
        print(s)

        s2 = bin(int(s2))[2:]
        ls = []
        b = len(s2) % 8
        if b != 0:
            s2 = '0' * (8 - b) + s2
        while len(s2) > 0:
            try:
                c = s2[:8]
                c1 = int(c,2)
                ls.append(c1)
                s2 = s2[8:]
            except:
                break
        for i in ls:
            if i != ls[-1]:
                print(i,end=".")
            else:
                print(ls[-1])

    except:
        break

全部评论

相关推荐

用微笑面对困难:985只有在应届生里面的优势是断层的在社招或者更远的工作中算是后续能力优先级
工作压力大,你会干什么?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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