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

整数与IP地址间的转换

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

def bin_to_ten(address:list):
    resultto2 = []
    for num in address:
        resultto2.append(str(bin(num)).replace('0b', '').rjust(8, '0'))
    result = '0b' + ''.join(resultto2)
    result = int(result, 2)
    return(result)

def ten_to_bin(address:int):
    resultto10 = []
    bin_number = str(bin(address)).replace('0b', '').rjust(32, '0')
    for i in range(0, len(bin_number)-7, 8):
        resultto10.append(bin_number[i:i+8])
    for i, num in enumerate(resultto10):
        resultto10[i] = int('0b' + num, 2)
    resultto10 = list(map(str, resultto10))
    result = '.'.join(resultto10)
    return result

address2 = list(map(int, input().strip().split('.')))
address10 = int(input().strip())
print(bin_to_ten(address2))
print(ten_to_bin(address10))

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
醉蟀:你不干有的是人干
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 11:47
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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