欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

判断IP地址的合法性

程序员文章站 2022-03-10 11:46:43
每台计算机都有独一无二的编号,称为ip地址,每个合法的ip地址由‘.’分隔开的4个数字组成,每个数字的取值范围为0--255 输入一个字符串,判断其是否为合法的IP地址,若是输出‘YES’,否则输出‘NO’ 第一种方法: p = input() ip = ip.split('.') #split() ......

每台计算机都有独一无二的编号,称为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))