跳转至内容
  • 社区首页
  • 版块
  • 最新
  • 标签
  • 热门
折叠

GitHub中文论坛

  1. 主页
  2. 版块
  3. 技术交流
  4. python 中 input 和 eval 使用有个bug?怎么解决

python 中 input 和 eval 使用有个bug?怎么解决

已定时 已固定 已锁定 已移动 技术交流
5 帖子 2 发布者 440 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • AnmylyA 离线
    AnmylyA 离线
    Anmyly
    写于 最后由 编辑
    #1

    8e55cc64-4503-4ab9-80c7-2216a882bd0b-image.png
    177888d3-75f8-471c-bbae-c624ea9d06c6-image.png

    这样可以输入任何数字,但是必须得输入一个值,如果 不输入,直接enter 运行,就会报错。

    这个有什么办法处理。

    而我又必须需要 从 字符串 里 提取 数字进行计算。

    1 条回复 最后回复
    0
    • k1995K 离线
      k1995K 离线
      k1995
      写于 最后由 编辑
      #2

      兄弟这哪是bug,eval 不是这么用的啊。

      1 条回复 最后回复
      0
      • k1995K 离线
        k1995K 离线
        k1995
        写于 最后由 k1995 编辑
        #3

        你要从字符串中提取数字,可以用正则表达式

        import re
        
        a = input("请输入1个数字:")
        b = re.findall("\d+", a)[0]
        print(b)
        

        测试结果:

        请输入1个数字:ads12323
        12323
        
        
        AnmylyA 2 条回复 最后回复
        0
        • k1995K k1995

          你要从字符串中提取数字,可以用正则表达式

          import re
          
          a = input("请输入1个数字:")
          b = re.findall("\d+", a)[0]
          print(b)
          

          测试结果:

          请输入1个数字:ads12323
          12323
          
          
          AnmylyA 离线
          AnmylyA 离线
          Anmyly
          写于 最后由 编辑
          #4
          此主題已被删除!
          1 条回复 最后回复
          0
          • k1995K k1995

            你要从字符串中提取数字,可以用正则表达式

            import re
            
            a = input("请输入1个数字:")
            b = re.findall("\d+", a)[0]
            print(b)
            

            测试结果:

            请输入1个数字:ads12323
            12323
            
            
            AnmylyA 离线
            AnmylyA 离线
            Anmyly
            写于 最后由 Anmyly 编辑
            #5

            @k1995 感谢您提供的思路,我貌似找到方法了,看来要去学下 正则表达式了,把您代码里的

            "\d+"
            

            改成这个

            r"\d+\.?\d*"
            

            就可以提取整数或者小数了。

            1 条回复 最后回复
            0
            回复
            • 在新帖中回复
            登录后回复
            • 从旧到新
            • 从新到旧
            • 最多赞同


            • 登录

            • 第一个帖子
              最后一个帖子
            0
            • 社区首页
            • 版块
            • 最新
            • 标签
            • 热门