题解 | 整数与IP地址间的转换
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import sys
ipstr=input()
ipstrnum=input()
iparr=ipstr.split(".")
ipnum="" #二进制ipnum
for ip in iparr:
ipbin=bin(int(ip)) # 十进制转二进制
ipbin=ipbin.replace("0b","")
while(len(ipbin)<8):
ipbin="0"+ipbin
ipnum=ipnum+ipbin
# 二进制转十进制
ipaddress=int(ipnum,2)
print(ipaddress)
# 处理十进制转换成二进制IP地址
binip=bin(int(ipstrnum))
binip=binip[2:]
# print(binip)
# 反转字符串
fanbinip=binip[::-1]
ipdaoarr=[]
for i in range(0,4):
ipdaoarr.append(fanbinip[8*i:8*(i+1)][::-1])
iparr=ipdaoarr[::-1]
ipendstr=""
for ip in iparr:
ipendstr=ipendstr+str(int(ip,2))+"."
print(ipendstr[:-1])
一步一个脚印