题解 | #合法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
                
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务