题解 | #整数与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

全部评论

相关推荐

挣K存W养DOG:入职送金条全球游,路过缅甸停一下🐔
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务