题解 | #合法IP#

合法IP

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

import sys

for line in sys.stdin:
    a = line.strip().split('.')  # 按字符'.'对字符串进行分割,获得IP地址中数的列表
    info = True  #设置标志位,判断IP中的所有数是否合法,既不大于255且都为十进制合法数字

    if len(a) != 4:#如果列表长度不为4,则不是合法IP
        info = False
    else:
        for i in a:
            if i.isdecimal()==False or len(i)>1 and int(i[0])==0:#列表中存在非十进制数(空字符''、罗马字符、汉字字符等,或有不合法数(比如数的开头为0,01),则不是合法IP
                info = False
                break
            elif int(i) > 255:#数字超出8位二进制数的表示范围,则不是合法IP
                info = False
                break
            else:
                continue

    if info == True:  # 根据标志位info判断,IP是否合法
        print("YES")
    else:
        print("NO")

主要是在提交的时候,会出现一些特殊情况。

全部评论

相关推荐

03-25 19:00
东北大学 Java
程序员牛肉:太好了,是聊天记录。不得不信了。 当个乐子看就好,不要散播焦虑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务