果然,老久不敲就容易忘,室友的面试题
def hefa(ipdz):
jsds=0
jlwz=[]
js=0
# 计算.个数,并判断是否为3个,并在期间记录每个.所处位置
for i in ipdz:
if i==".":
jsds+=1
jlwz=jlwz+[js]
js+=1
if jsds != 3:
return "非法ip"
# 将.周围的字符转化为整数,判断是否合法,都在范围内且都是数字字符则合法,其余任何情况非法
else:
try:
w_1=255>=int(ipdz[0:jlwz[0]])>=1
w_2=255>=int(ipdz[jlwz[0]+1:jlwz[1]])>=1
w_3=255>=int(ipdz[jlwz[1]+1:jlwz[2]])>=1
w_4=255>=int(ipdz[(jlwz[2]+1):])>=1
ip_num=w_1+w_2+w_3+w_4
except:
return "非法ip"
if ip_num==4:
return "合法ip"
else:
return "非法ip"
例子如下: