Write an algorithm that will identify valid IPv4 addresses in dot-decimal format. IPs should be considered valid if they consist of four octets, with values between 0
and 255
, inclusive.
Input to the function is guaranteed to be a single string.
Examples
Valid inputs:
1.2.3.4
123.45.67.89
Invalid inputs:
1.2.3
1.2.3.4.5
123.456.78.90
123.045.067.089
Note that leading zeros (e.g. 01.02.03.04
) are considered invalid.
思路:
考虑错误的情况如下
1.不是.分割的四段
2.每段含有非数字字符
3.0在开始并且本身不为0的
代码如下:
def is_valid_IP(string):
temp=string.split('.')
if len(temp)!=4:
return False
for str in temp:
a=0
if str.isdigit()==False:
return False
a=int(str)
if str.find('0')==0 and a!=0:
return False
if a<0 or a>255:
return False
return True