Python作业答案

这篇博客提供了几个Python编程作业的解答,包括验证IPv4和IPv6地址的有效性、筛选特定的‘-ing’单词、判断有序子列表、文件夹路径查找以及字符串编辑距离问题。涉及到字符串操作、列表遍历和字典应用等核心概念。
摘要由CSDN通过智能技术生成

python作业答案

T2:

题目描述

编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。
如果是有效的 IPv4 地址,返回 “IPv4” ;
如果是有效的 IPv6 地址,返回 “IPv6” ;
如果不是上述类型的 IP 地址,返回 “Neither” 。

解题思路

根据输入的ip地址中的 “.”“:” 来判断输入的ip地址的类型。
IPv4地址判断其中每个数是否在 0-255 之间,每个数前是否有违规的 0 存在。
IPv6地址判断每个字符串由16进制转换成10进制以后是否出现值错误,是否存在 “::”

我的代码

def ip_(ip):
    res = 0
    # 处理IPv4地址
    if '.' in ip:
        # 切割ip地址
        s = ip.split('.')
        # 判断ip是不是IPv4
        if len(s) != 4:
            print('Neither')
        else:
            for i in s:
                if '0' in i and int(i) >= 1:
                    res += 1
                    break
                if 255 >= int(i) >= 0:
                    continue
                else:
                    res += 1
                    break
            if res == 0:
                print('IPv4')
            else:
                print('Neither')
    # 处理IPv6地址:
    if ':' in ip:
        if '::' in ip:
            print('Neither')
        else:
            # 切割输入的ip地址
            s = ip.split(':')
            # 判断这个地址是不是IPv6地址
            for i in s:
                if len(i) > 4:
                    res += 1
                try:
                    int(i
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值