题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
定义两个函数,
第一个将ip二进制转化为十进制
第二个将十进制转化为二进制再转化为合法ip
def ip2int(s):
s = s.split('.')
for n,i in enumerate(s):
s[n] = f'{int(i):08b}'
return int(''.join(s),2)
def int2ip(s):
s = list(f'{int(s):032b}')
for _ in range(4):
s.append(''.join(s[0:8]))
s = s[8:]
return '.'.join(map(str,map(int, s, [2]*4)))
print(ip2int(input()))
print(int2ip(input()))
