首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证IP地址

验证IP地址
EN

Stack Overflow用户
提问于 2022-02-10 04:54:26
回答 1查看 124关注 0票数 1

我试图验证数字串是否有效的IP地址。

我使用的只有两个逻辑,如代码所示-

split('.')

  • The字符串之后的ipnos长度应该是4,仅为数字。

但看起来这并没有给我正确的结果。

对于ip='123.456.78.09‘:它应该得到True,但返回False

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-10 05:09:37

sublist[nos]的类型是<class 'str'>,而不是<class 'int'>

因此,您应该将validnos改为next,以修复它:

代码语言:javascript
复制
validnos=['0','1','2','3','4','5','6','7','8','9']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71059976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档