题解 | #验证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'
        

全部评论

相关推荐

05-14 09:24
青岛工学院 C++
点赞 评论 收藏
分享
nus2201602...:兄弟,你这个简历撕了丢了吧,就是一坨,去找几个项目,理解项目流程,看几遍就是你的了,看看八股就去干了,多看看牛客里别人发出来的简历,对着写,你这写的啥啊,纯一坨
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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