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