题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
def binary(ip:str): iplist = ip.split('.') templist = [] temp = '' for i in iplist: ten = int(i) bi = bin(ten)[2:] lenbi = len(bi) temp = '0'*(8-len(bi)) + bi templist.append(temp) s = templist[0]+templist[1]+templist[2]+templist[3] result = int(s,2) return result def tenth(ip:str): bi = bin(int(ip))[2:] if len(bi) < 32: zeros = 8 -(len(bi) % 8) bi = '0'*zeros + bi elif len(bi) < 24: zeros = 8 + 8 -(len(bi) % 8) bi = '0'*zeros + bi elif len(bi) < 16: zeros = 16 + 8 -(len(bi) % 8) bi = '0'*zeros + bi elif len(bi) < 8: zeros = 24 + 8 -(len(bi) % 8) bi = '0'*zeros + bi else: pass iplist = [] iplist.append(str(int(bi[0:8],2))) iplist.append(str(int(bi[8:16],2))) iplist.append(str(int(bi[16:24],2))) iplist.append(str(int(bi[24:],2))) result ='.'.join(iplist) return result a = input() b = input() print(binary(a)) print(tenth(b))
暴力解题