判断两个IP是否属于同一子网

    xiaoxiao2021-03-25  121

    华为刷题

    判断两个IP是否属于同一子网

    def checkNetSegment(mask, ip1, ip2): str2ints = lambda s:[int(num) for num in s.split('.')] bitAnd = lambda x, y:[x[i] & y[i] for i in range(4)] isRightIP = lambda li:not (False in [i >= 0 and i <= 255 for i in li]) mask, ip1, ip2 = str2ints(mask), str2ints(ip1), str2ints(ip2) if False in [isRightIP(mask), isRightIP(ip1), isRightIP(ip2)]: return 1 res = sum([1 for i in range(4) if bitAnd(mask, ip1) != bitAnd(mask, ip2)]) return 0 if res == 0 else 2 # mask = '255.255.255.0' # ip1 = '192.168.10.255' # ip2 = '192.168.10.4' mask = raw_input() ip1 = raw_input() ip2 = raw_input() print checkNetSegment(mask, ip1, ip2)

    转载请注明原文地址: https://ju.6miu.com/read-20470.html

    最新回复(0)