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

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

全部评论

相关推荐

07-09 15:55
门头沟学院 Java
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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