题解 | #合法IP
合法IP
http://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
先正则再判断每段的大小
import re
while True:
try:
ad = input()
if re.match(r'^((?!0\d)[\d]+\.){3}((?!0\d)[\d]+)$', ad):
add = ad.split(sep = '.')
flag = 'YES'
for n in add:
n = bin(int(n))
if len(str(n)) - 2 > 8:
flag = 'NO'
break
print(flag)
else:
print('NO')
except:
break
