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

整数与IP地址间的转换

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

简单的字符串处理+位运算

import sys

for idx, line in enumerate(sys.stdin):
    a = line.strip()
    # ip -> int
    if idx == 0:
        nums_list = list(map(int, a.split(".")))
        result = 0
        for each in nums_list:
            result <<= 8
            result += each
        print(result)
    # int -> ip
    elif idx == 1:
        result_list = [0] * 4
        num = int(a)
        for i in range(3, -1, -1):
            tmp_num = num % (2**8)
            num >>= 8
            result_list[i] = str(tmp_num)
        print(".".join(result_list))



全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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