python:给你一个字符串,你怎么判断是不是ip地址?

#IP的格式:(1~255).(0~255).(0~255).(0~255)
def check_ip(s):
if not isinstance(s,str):
print("请输入字符串!")
return
else:
if s.count(".")!=3:
print("该字符串不是ip!")
elif s.startswith(".") or s.endswith("."):
print("该字符串不是ip")
elif not s.replace('.',"").isdigit():
print("该字符串不是ip")
else:
s1_list = s.split(".")
if '' in s1_list: # 校验字符串里的“。”是不是挨着
print("该字符串不是ip")
else:
i,j,k,m = s1_list #得到的是字符串,不是int
if int(i) in range(1,256) and int(j) in range(0,256) and int( k) in range(0,256) and int(m) in range(0,256):
print("该字符串是ip")
return True
print("该字符串不是ip")
return False
def main():
while True:
s = input("请输入一个字符串:")
flag = check_ip(s)
if flag:
break

main()
posted @ 2022-05-10 15:29  凝眸神恍  阅读(374)  评论(0编辑  收藏  举报