题解 | #合法IP#

合法IP

https://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9

# 第一步:以英文句号分割字符串,存到列表
list1=input().split('.')

count=0
# 第二步:列表元素不等于4,返回NO
if len(list1) !=4:
    print('NO')
# 第三步:否则,逐个遍历4个元素
else:
    for i in list1:
        # (1)元素是空字符串,返回NO
        if i=='':
            print('NO')
        # (2)元素长度大于8,返回NO
        elif len(i)>8:
            print('NO')
        # (3)元素是数字,但是数字小于0,或者大于256,或者以0开头的长度超过1的数字串(比如‘01’),返回NO
        elif int(i)>256 or int(i)<0 or (i.startswith('0') and len(i)>1):
            print('NO')
        # (4)元素不是数字
        elif i.isdigit() is False:
            print('NO')
        # 否则,count+1=count+1
        else:
            count+=1
    # 第四步:如果count等于4,返回YES
    if count==4:
        print('YES')

全部评论

相关推荐

09-10 21:07
已编辑
南京理工大学 C++
第一题bfs,20min搞定第二题,掩码,二进制操作通过24%(把j打成i)调了一个半小时第三题,没时间看了(直接cout第一个用例过10%)
牛客39323112...:牛啊,第三题打印第一个用例居然可以拿百分之10不过第二题瞎寄吧写可以拿百分之36的分(两个字符串的string(0,12)比较,一样给yes,不一样给no)
投递华为技术有限公司等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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