输入页面的代码应该怎么写?

while True:
    # print('要下载的页码')
    m = input('请输入要下载的页码\n')                                 #若改为 m = int(input('要下载的页码\n')) 则

    try:                                                      #只能输入整型数,否则会报错
        m = int(m)   #输入的数据不是整型无法转化会报错,则进行except内容
        # {if isinstance(m,int):
        #     c = isinstance(m,)
        #     print(c)}    无效
        n = m+1
        break
    except:                                                   #except Exception as e:
        jk = re.compile('^(?P<m>\d+)-(?P<n>\d+)$')
        pa = jk.finditer(m)
        ss = jk.match(m)
        # print(pa,ss)
        # print(pa,type(pa))
        if not ss == None :
            for pag in pa:
                m = int(pag.group('m'))
                n = int(pag.group('n'))+1
            break
                # print(m,type(m),n,type(n))
        else:
            print('请重新输入')    

分析:

while True:
    # print('要下载的页码')
    m = input('请输入要下载的页码\n')                                 #若改为 m = int(input('要下载的页码\n')) 则

    try:                                                      #只能输入整型数,否则会报错
        m = int(m)   #输入的数据不是整型无法转化会报错,则进行except内容
        # {if isinstance(m,int):
        #     c = isinstance(m,)
        #     print(c)}    无效
        n = m+1
        break
   判断是否输入的为整数,使得话跳出,不是的话,执行expect的内容
    except:                                                   #except Exception as e:
        jk = re.compile('^(?P<m>\d+)-(?P<n>\d+)$')
        pa = jk.finditer(m)
        ss = jk.match(m)
        # print(pa,ss)
        # print(pa,type(pa))
        if not ss == None :
            for pag in pa:
                m = int(pag.group('m'))
                n = int(pag.group('n'))+1
            break
                # print(m,type(m),n,type(n))
        else:
            print('请重新输入')    

通过正则提取类似“12-45”的页码,如果提取不到则ss = jk.match(m)返回None,返回不是None就处理下页码,因为后面的程序要用range()所以这里n+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值