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

整数与IP地址间的转换

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

import sys

for line in sys.stdin:
    a = line.split("\n")[0]
    if "." in a:
        a_s = a .split(".")
        nums = []
        for _ in a_s:
            temp = bin(int(_))[2:]
            if len(temp) < 8:
                temp = '0' * (8-len(temp))+temp
            nums.append(temp)
        num_str = "".join(nums)
        #print(num_str)
        print(int(num_str,2))
    else:
        s = bin(int(a)).replace("0b","")
        #print(s)
        ss = []
        for i in range(len(s),-1,-8):
            temp = s[i-8:i]
            if temp:
                ss.append(s[i-8:i])
        if len(ss) != 4:
            temp = s[:-24]
            if len(temp) < 8:
                temp = '0' * (8-len(temp))+temp
            ss.append(temp)
        #print(ss)
        res = ""
        for i in range(3,-1,-1):
            res+=str(int(ss[i],2))+"."
        print(res[:-1])

就是每次bin有个0b前缀有点麻烦,还有就是每个数应该是8位需要注意下长度

全部评论

相关推荐

05-30 13:04
已编辑
门头沟学院 算法工程师
智谱和米哈游都是ai大模型agent的业务钱的话还是米更多,几乎翻倍了,有没有老哥是两个公司其中一个的,能问问转正率咋样嘛,我问的hr回答都是做的好就可以转正暑期实习
码农索隆:选米哈游:短期高薪、敢承担风险、具备强创新能力,且愿押注游戏AI赛道。 选智谱:稳定性与行业通用能力积累,接受薪资差距以换取更稳妥的职业基础。
投递北京智谱华章科技等公司10个岗位 > 实习期间如何提升留用概率?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务