ip1 = input()
ip2 = input()
ip3 = input()
ip4 = input()
def transIp2Num(ip):
_1,_2,_3,_4 = ip.split('.')
num = int(_4)*1 + int(_3)*256 + int(_2) * 256 * 256 + int(_1) * 256 *256 *256
return num
ip1 = transIp2Num(ip1)
ip2 = transIp2Num(ip2)
ip3 = transIp2Num(ip3)
ip4 = transIp2Num(ip4)
if ip3>ip2 | ip4'没有交集')
else:
print('有交集')
解释一下
一个ip地址其实可以看作是一个四位的数字,只不过是256进制的而已
例如:百度的IP 可以对应一个数字
61.135.169.121->1032300921
因此一个ip段就是一个区间了,接下来的问题就是比较两个区间的交集问题了
so easy 了
其实下面的3个网址是一样的,你可以点击试试。
http://1032300921
http://61.135.169.121/
http://www.baidu.com