题解 | #字符串加密#
https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
while True: try: ip = input() arr1 = ip.split('.') if len(arr1) == 4: x, y = 0, '' for i in range(len(arr1)): if arr1[i].isdigit(): str1 = bin(int(arr1[i])) # 转换成二级制后开头是ob,二进制表示 str1 = str1[2:] if len(str1) < 8: # 除了第一个不足8位不需要补齐,其他的都需要补齐 str1 = '0' * (8 - len(str1)) + str1 y += str1 else: x = 1 break if x == 1: continue # int(y,2):二进制转换成十进制 print(int(y, 2)) else: break num = int(input()) str2 = bin(num)[2:] # 不足32位的话,开头要补齐0 if len(str2) < 32: str2 = '0' * (32 - len(str2)) + str2 # 每8位是一个数,转换成10进制保存起来 arr2 = [] for i in range(0, len(str2), 8): s = str2[i:i + 8] n = int(s, 2) arr2.append(str(n)) print('.'.join(arr2)) break except: break