我试图验证数字串是否有效的IP地址。
我使用的只有两个逻辑,如代码所示-
split('.')
ipnos长度应该是4,仅为数字。但看起来这并没有给我正确的结果。
对于ip='123.456.78.09‘:它应该得到True,但返回False
def validate(ip):
ipnos=ip.split('.')
validnos=[0,1,2,3,4,5,6,7,8,9]
false_counter=0
if len(ipnos) != 4:
false_counter+=1
for sublist in ipnos:
for nos in range(len(sublist)):
if sublist[nos] not in validnos:
false_counter+=1
if false_counter>0:
return False
else:
return True
ip='123.456.78.09'
validate(ip)发布于 2022-02-10 05:09:37
sublist[nos]的类型是<class 'str'>,而不是<class 'int'>。
因此,您应该将validnos改为next,以修复它:
validnos=['0','1','2','3','4','5','6','7','8','9']https://stackoverflow.com/questions/71059976
复制相似问题