题解 | #验证IP地址#
验证IP地址
https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880
import re
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 验证IP地址
# @param IP string字符串 一个IP地址字符串
# @return string字符串
#
class Solution:
def solve(self , IP: str) -> str:
# write code here
arr = IP.split('.')
if len(arr) == 4:
flag = True
for clo in arr:
if clo.startswith('0'):
flag = False
break
else:
my_re = re.compile(r'[A-Za-z]', re.S)
res = re.findall(my_re, clo)
if len(res):
flag = False
break
else:
if int(clo) > 0 and int(clo) <= 255:
continue
else:
flag = False
break
if flag:
return "IPv4"
else:
return "Neither"
else:
arr = IP.split(':')
if len(arr) == 8:
flag = True
for clo in arr:
if clo == '':
flag = False
break
else:
my_re = re.compile(r'[G-Zg-z]', re.S)
res = re.findall(my_re, clo)
if len(res):
flag = False
break
else:
if len(clo) > 4:
flag = False
break
else:
if int(clo,16) >= 0 and int(clo,16) <= 65535:
continue
else:
flag = False
break
if flag:
return "IPv6"
else:
return "Neither"
else:
return "Neither"
#23届的你们都什么时候入职?#
查看17道真题和解析