qq_36081277 2016-11-18 18:20 采纳率: 0%
浏览 950

Python 3.5代码求助,卡在截取数字的步骤上

图片说明
我们的作业要求如上,不允许使用list语法,只能使用字符串语法,还有if,for,while从句来进行循环或者判断。

现在自定义函数卡在用isdigit()检测数字上,如果是个位数还好,但是非个位数的话,我就要判断下一个是不是数字,直到判断到下一个不是数字的情况。

    但我在判断的时候遇到一个严重的问题:如果我在倒数第二位检测到一个数字,接下来我要检测倒数第一位,然后我再往后检测一位,就会提示字符串超出范围了。

请问一下这里究竟该怎么自定义函数,或者有没有方法可以在检测到第一个数字的时候直接取到这串数字并且不会有超出范围的方法?

  • 写回答

2条回答 默认 最新

  • 斯温jack 2016-11-19 08:32
    关注

    String0 = "cat2dog1qwerty3"
    String1 = "if4then2else3a12"

    def multi_func(input):
    input_list = input
    int_set = set([str(i) for i in range(0, 10)])
    for i in int_set:
    temp_list = ""
    for element in input_list:
    temp_list += ",".join(element.split(i))

        input_list = temp_list
    
    for element in input_list.split(","):
        if element:
            input = input.replace(element, "{%s}" %  element)
    
    StringRequire = ""
    for element in input.split("{"):
        if element:
            Str , num = element.split("}")
            StringRequire += int(num) * Str
    
    return StringRequire
    

    print multi_func(String0)
    print multi_func(String1)

    评论

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿