Python—基础知识之ip的合法性校验(7)

第七天学习,一定要动手,去实现ip的合法性校验

# 思路一
"""
步骤:
    1.ip两端去空格
    2.将他分割为列表
    3.判断,列表的长度是否等于4
       等于:继续下一步操作
       不等于:则ip不合法
    4.使用for循环去遍历列表的每一个值
    5.判断是否全为数字
      判断是否大于等于0且小于等于255
      如果满足条件 flag赋值为True
      不满足则flag赋值为False,结束循环
    6.遍历完成后,使用flag的值进行判断
       flag为true 则ip合法
       flag为false 则ip不合法       
"""
ip1 = "123.0.0.0 "
ip1 = ip1.strip()
ips1 = ip1.split(".")
if len(ips1) == 4:
    for p in ips1:
        if p.isdigit() and 0 <= int(p) <= 255:
            flag = True
        else:
            flag = False
            break
else:
    flag = False
if flag:
    print("this ip is a lagel!")
else:
    print("this ip is an illagel!")
"""
总结:
    该思路使用的flag作为标记,若条件全满足时flag为True,不满足时flag为False
    最后使用flag的值去判断
    循环语句中使用break,当条件满足时,True为合法ip,False为非法ip
    当某个条件为True时,可以将if flag == True: 简写为 if flag:
"""

# 思路二
"""
步骤:
    1.去掉前后空格
    2.将字符串分割成列表
    3.设置计数器,并初始值为0
    4.遍历列表
    5.判断列表的每一个值
    6.全为数字
      每个数值必须大于等于0小于等于255
      满足条件是计数器+1
    7.使用计数器去判断
"""
ip2 = " 123.0.0.3 "
ip2 = ip2.strip()
ips2 = ip2.split(".")
count = 0
for p in ips2:
    if p.isdigit() and 0 <= int(p) <= 255:
        count += 1
if count == 4:
    print("this ip is a lagel!")
else:
    print("this ip is an illagel!")
"""
总结:
    该思路是使用计数器count去计数,当count满足为4时,则ip合法,否则不合法
    该思路新增一个知识点,即count+=1 等同于count=count+1
"""


# 思路三
"""
# 步骤:
#     1.去空格
#     2.将字符串切割为列表
#     3.判断长度是否为4
#       若满足条件则继续,否则结束并打印ip不合法
#     4.遍历列表
#     5.判断列表的每一项值
#        不全是数字
#        小于0 或 大于255
#        则结束循环,打印IP不合法
#     6.若以上都不满足则打印ip合法
#
# """
ip3 = "112.0.3.3 "
ip3 = ip3.strip()
ips3 = ip3.split(".")
if len(ips3) == 4:
    for p in ips3:
        if not p.isdigit() or int(p) < 0 or int(p) > 255:
            print("this ip is a illagel!")
            break
    else:
        print("this ip is a lagel! ")
else:
    print("this ip is a illagel!")
"""
总结:
    使用逆向思维,判断值是否不满足条件
    新知识点:for...else.. for循环中必须有break,当没有执行break语句时
    则会执行else语句,反之。
"""

# 思路四
"""
步骤:
    1.去字符串两端空格
    2.将字符串切割为列表
    3.判断长度是否为4
      等于4时,继续下一步操作
      不等于4时,打印ip不合法
    4.使用索引的方式循环遍历列表的每个值
    5.判断是否为数字,是否大于等于0或小于等于255
      若下标等于3的时候,则ip合法
      否则ip不合法,使用break退出循环
"""
ip4 = "121.0.1.1 "
ip4 = ip4.strip()
ips4 = ip4.split(".")
L = len(ips4)
if L == 4:
    for p in range(L):
        if ips4[p].isdigit() and 0 <= int(ips4[p]) <=255:
            if p == 3:
                print("this ip is a lagel!")
        else:
            print("this ip is an illagell!")
            break
else:
    print("this ip is an illagel!")
"""
# 总结:
      该思路是使用列表的下标去判断,当下标执行到3时ip合法,否则IP不合法
      新知识点:range()
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值