题解 | #验证IP地址#
验证IP地址
https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880
#分类讨论就行
class Solution:
def solve(self , IP: str) -> str:
def is_hex(s):
try:
int(s, 16)
return True
except ValueError:
return False
def check_ip4(s):
if s.isdigit():
if -1<int(s)<256:
if len(s)==1:
return True
elif len(s)>1 and s[0] != '0':
return True
return False
def check_ip6(s):
if is_hex(s):
if len(s) > 1 and s == ''.zfill(len(s)):
return False
return True
return False
if '.' in IP:
ip = IP.split('.')
for i in ip:
if not check_ip4(i):
return 'Neither'
return 'IPv4'
else:
ip = IP.split(':')
for i in ip:
if not check_ip6(i):
return 'Neither'
return 'IPv6'