题解 | #记负均正#
合法IP
http://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
有一些没想到的输入形式,在之前的解法基础上补充了一些。
while True:
try:
s = input().split('.') # 以’.’隔开
if len(s)!=4: # 整体IP长度不足4--NO
print('NO')
break
cnt = 0
for i in s:
if not i.isdigit(): # 存在非数字--NO
print('NO')
break
elif i == '': # 两个连续的‘.’之间无数字--NO
print('NO')
break
elif i.startswith('0') and len(i)>1: # ‘0.1.2.2’--NO
print('NO')
break
elif int(i)>255: # 超出32bits范围--NO
print('NO')
break
else: # 一个部分满足条件+1
cnt += 1
if cnt == 4: # IP4个部分全部符合条件--YES
print('YES')
except:
break
