题解 | #记负均正#

合法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


全部评论

相关推荐

牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司6个岗位
点赞 评论 收藏
分享
不知道怎么取名字_:玩游戏都写到简历上了啊
投递BOSS直聘等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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