存在一种虚拟IPv4地址,由4小节组成,每节的范围为0~128,以#号间隔,格式如下:
(1~128)#(0~255)#(0~255)#(0~255)
请利用这个特性把虚拟IPv4地址转换为一个32位的整数,IPv4地址以字符串形式给出,要求每个IPvV4地址只能对应到唯一的整数上。
如果是非法IPv4,返回invalid IP。
输入描述
输入一行,虚拟IPv4地址格式字符串
输出描述
输出一行,按照要求输出整型或者特定字符
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
100#101#1#5
输出
1684340997
示例2 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
1#2#3
输出
invalid IP
import sys
def mian():
ipv4_data = list(map(int,sys.stdin.readline().split('#')))
if len(ipv4_data) !=4:
print("invalid IP")
return
if not (1<= ipv4_data[0] <=128):
print("invalid IP")
return
for i in range(1,4):
if not (0 <= ipv4_data[i] <= 255):
print("invalid IP")
return
result = (ipv4_data[0] << 24) | (ipv4_data[1] << 16) | (ipv4_data[2] << 8) | ipv4_data[3]
print(result)
if __name__ == '__main__':
mian()