import sys
for line in sys.stdin:
a = line.strip().split('.') # 按字符'.'对字符串进行分割,获得IP地址中数的列表
info = True #设置标志位,判断IP中的所有数是否合法,既不大于255且都为十进制合法数字
if len(a) != 4:#如果列表长度不为4,则不是合法IP
info = False
else:
for i in a:
if i.isdecimal()==False or len(i)>1 and int(i[0])==0:#列表中存在非十进制数(空字符''、罗马字符、汉字字符等,或有不合法数(比如数的开头为0,01),则不是合法IP
info = False
break
elif int(i) > 255:#数字超出8位二进制数的表示范围,则不是合法IP
info = False
break
else:
continue
if info == True: # 根据标志位info判断,IP是否合法
print("YES")
else:
print("NO")
主要是在提交的时候,会出现一些特殊情况。



京公网安备 11010502036488号