题解 | #验证IP地址#

验证IP地址

https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880

class Solution:
    def solve(self , IP: str) -> str:
        # write code here
        def isValid4(s):
            lst = s.split('.')
            if len(lst) != 4:
                return False
            for num in lst:
                if not num:
                    return False
                if not num.isdigit():
                    return False
                if int(num) != 0 and num[0] == '0':
                    return False
                if int(num) < 0 or int(num) > 255:
                    return False
            return True
        
        def isValid6(s):
            lst = s.split(':')
            if len(lst) != 8:
                return False
            for num in lst:
                if not num:
                    return False
                if len(num) > 4:
                    return False
                for c in num:
                    if c.isalpha():
                        if ord('f') < ord(c) <= ord('z') or ord('F') < ord(c) <= ord('Z'):
                            return False
            return True
        
        if isValid4(IP): return 'IPv4'
        elif isValid6(IP): return 'IPv6'
        else: return 'Neither'
        

全部评论

相关推荐

一个菜鸡罢了:哥们,感觉你的简历还是有点问题的,我提几点建议,看看能不能提供一点帮助 1. ”新余学院“别加粗,课程不清楚是否有必要写,感觉版面不如拿来写一下做过的事情,教育经历是你的弱势就尽量少写 2. “干部及社团经历”和“自我评价”删掉 3. 论文后面的“录用”和“小修”啥的都删掉,默认全录用,问了再说,反正小修毕业前肯定能发出来 4. 工作经验和研究成果没有体现你的个人贡献,着重包装一下个人贡献
点赞 评论 收藏
分享
爱看电影的杨桃allin春招:我感觉你在炫耀
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务