题解 | #整数与IP地址间的转换#Python:进制转换
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import sys def int2bin(num: str) -> str: # 将十进制字符串 num 转化为二进制字符串 num = int(num) bin_num = list() base = 2 while num > 0: digit = num % base bin_num.append(str(digit)) num = num // base bin_num = bin_num[::-1] return ''.join(bin_num) for line in sys.stdin: if len(list(line.strip().split("."))) < 4: # 十进制 to IP num = line.strip() bin_str = int2bin(num).zfill(32) ans = [str(int(''.join(bin_str[8*i:8*(i+1)]), 2)) for i in range(4)] print('.'.join(ans)) else: # IP to 十进制 IP_list = list(line.strip().split('.')) # ['10', '0', '3', '193'] int_num = int(''.join([int2bin(x).zfill(8) for x in IP_list]), 2) print(str(int_num))#23届找工作求助阵地##软件开发薪资爆料##我的实习求职记录##你们的毕业论文什么进度了#
算法之路 文章被收录于专栏
有关数据结构、算法等的文章