题解 | #整数与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
安克创新 Anker公司福利 716人发布