联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,可以分为“A” “B” “C” "D" "E"类,我们常常使用的是C类IP地址所以第一个数字组成开头不能含有“0”,因为那是A类IP地址专属的,好奇的朋友可以去查查哦。
现在用户输入一个字符串(不含有空格)判断是否合法。
1 import os,sys
2 a=input()
3 def check_ip(ip):
4 import sys
5 sc=ip.strip().split('.')
6 if len(sc)!= 4:
7 print( "check ip address failed!")
8 sys.exit()
9 for i in range(4):
10 b=len(sc[i])
11 c=sc[i]
12 for j in range(b):
13 if c[j]==" ":
14 print ("check ip address failed!")
15 sys.exit()
16 j+=1
17 try:
18 sc[i]=int(sc[i])
19 except:
20 print ("check ip address failed!")
21 sys.exit()
22 if sc[i]<=255 & sc[i]>=0:
23 pass
24 else:
25 print ("check ip address failed!")
26 sys.exit()
27 i+=1
28 else:
29 print ("check ip address success!")
30 if len(sys.argv)!=2:
31 print ("Example: %s 10.0.0.1 "%sys.argv[0] )
32 sys.exit()
33 else:
34 check_ip(sys.argv[1])
35 print(check_ip(a))
以上代码我个人觉得是比较简单易懂的方法,当然用的时候要注意复制过后的每行空格格式。因为PYTHON的空格是抓的非常的严格的。