题解 | #合法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")

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

全部评论

相关推荐

找工作勤劳小蜜蜂:矛盾是没有实习,就是没实战经验,公司不想要,公司不要,你就没有实习,你就进入死循环,另外你的项目不是社会现在有大量岗位存在行业用的,云存储人员早就饱和。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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