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

整数与IP地址间的转换

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

import sys

#for line in sys.stdin:
#    a = line.split()
#   print(int(a[0]) + int(a[1]))
'''
情况1:输入是ip地址,需要将ip地址转化为十进制的整数
此时len(s.split("."))==4
情况2:输入是十进制的整数,需要将十进制的整数转化为ip地址
此时len(s.split("."))==1
'''


s2=''
L2=[]
L3=[]
L4=[]
#定义循环次数的控制,此处控制循环2次输入结束
j=1
while j<=2:
    try:

        s=input()
        j+=1
        if len(s.split(".")) == 4:
            L=s.split(".")
            for x in L:
                x=str(bin(int(x)))
                x=x[2:]
                x=x.rjust(8,"0")
                s2=s2+x
            print(int(s2,2))
        elif len(s.split()) ==1:
            b=str(bin(int(s)))[2:]
            b=b.rjust(32,"0")
            for i in range(4):
                L2.append(b[:8])
                b=b[8:]
            for x in L2:
                L3.append(int(x,2))
            for x in L3:
                L4.append(str(x))
            print(".".join(L4))
        else:
            pass
    except:
        pass

全部评论

相关推荐

小红书 后端选手 n*16*1.18+签字费期权
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务