题解 | #字符串加密#
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