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

def two_to_ten(n):
    f_n = n.split('.')
    f2_n = []
    for k in f_n:
        i = int(k)
        f2_n.append((bin(i)[2:]).rjust(8, '0'))
    f3 = ''.join(f2_n)
    return int(f3,2)

def ten_to_two(m):
    m = int(m)
    # 确保二进制字符串长度为32位
    f1 = bin(m)[2:].zfill(32)
    # 将32位二进制字符串分割成每8位一组
    f2 = [f1[i:i+8] for i in range(0, 32, 8)]
    finall = []
    for i in f2:
        finall.append(str(int(i, 2)))  # 将每个8位二进制字符串转换为十进制
    return '.'.join(finall)  # 使用点号连接所有十进制数

# 示例
m = 10
print(ten_to_two(m))  # 输出应该是 "0.0.0.10"
n = input().strip()
m = input().strip()
print(two_to_ten(n))
print(ten_to_two(m))

全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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