你好,感谢你分享的方法。下面稍微简化了一下代码 import sys def ip(listb): if len(listb) !=4 or '' in listb: return False; for i in listb: if int(i)<0 or int(i)>255: return False return True def mask(listc): j='' if len(listc) != 4: return False; for i in listc: j += f"{bin(int(i))[2:]:>08}" #返回指定长度的字符串,原字符串右对齐,前面填充0 if j.find("0")-j.rfind("1")==1: return True; else: return False; def private_ip(listb): if int(listb[0]) == 10 : return True; if int(listb[0]) == 127 and 16<=int(listb[1])<=31 : return True; if int(listb[0]) == 192 and int(listb[1]) == 168: return True; dit = {"A":0,"B":0,"C":0,"D":0,"E":0,"ERROR":0,"PRIVATE":0} for line in sys.stdin: a = line.split("\n")[0].split("~") b = a[0].split(".") c = a[1].split(".") if ip(b): if int(b[0]) == 127 or int(b[0])==0: continue; if mask(c): if private_ip(b): dit["PRIVATE"]+=1; if 0< int(b[0]) <127: dit["A"] += 1 elif 127
点赞

相关推荐

Lyxiho:浙江大学 加大加粗
点赞 评论 收藏
分享
牛客网
牛客企业服务