python123判断ip地址合法性_判断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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值