题解 | #合法IP#

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

def judge(str1):
    str2=str1.replace('.','')  #将【.】去除,遍历str只要不是数字,就返回NO
    for i in str2:
        if not i.isdigit():
            return 'NO'
    lis1=str1.split('.')   #根据【.】分割成列表,当str第一个元素是【.】,或者两个【.挨在一起】,分割后列表中就会出现空字符串【‘’】,此时需要返回NO
    for i in lis1:
        if i == '':
            return 'NO' 
    if len(lis1)!=4:     #首先判断列表长度,不为4的都返回NO
        return 'NO'
    else:
        for i in range(4):
            if len(lis1[i])==3 and lis1[i][0]=='0' :  #当i是三位数且第一位是0时返回NO
                return 'NO'
            elif len(lis1[i])==2 and lis1[i][0]=='0': #当i是两位数且第一位是0时返回NO
                return 'NO'
            else:                         #当i的整形值不在【0~255】之间时返回NO
                if int(lis1[i])<0 or int(lis1[i])>255:
                    return 'NO'
#如果for循环结束了,都没有返回值,则返回YES
        return 'YES'          
n=input()
print(judge(n))

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 15:39
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
05-26 22:25
门头沟学院 Java
Java小肖:不会是想叫你过去把你打一顿吧,哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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