判断IP地址的合法性

每台计算机都有独一无二的编号,称为ip地址,每个合法的ip地址由‘.’分隔开的4个数字组成,每个数字的取值范围为0--255

输入一个字符串,判断其是否为合法的IP地址,若是输出‘YES’,否则输出‘NO’

第一种方法:

p = input()
ip = ip.split('.')   #split()分割字符串,这里以  . 为分割处,生成数字列表
if len(ip) == 4:   #判断列表中元素个数是否为4
	for i in range(4):        #遍历循环
		if ip[i].isdigit() == False or  eval(ip[i]) > 255 or eval(ip[i]) < 0: #判断字符串是否全为数字
			print('No')
			break    #停止循环
	else: 
		if i == 3:  #判断条件到循环最后一位
		    print('Yes')
else:
    print('No') 

'''str.isdigit()如果字符串str只包含数字(包括:Unicode数字,半角数字(单字节),全角数字(双字节),
不包括罗马数字和汉字数字)则返回 True 否则返回 False。'''

第二种方法 

s = input()
def f(s):
    lists = s.split('.')
    if len(lists) != 4:
        return 'No'
    for i in range(4):
        try:
            tmp = int(lists[i])
            if tmp not in range(0,256):
                return 'No'
        except:
            return 'No'
    return 'Yes'
print(f(s))

  

原文地址:https://www.cnblogs.com/cnn-ljc/p/12713486.html