当前位置: 首页 > 面试题库 >

Python-有没有一种方法可以将数字单词转换为整数?

陶高扬
2023-03-14
问题内容

我需要转换one1two2等。

有没有办法用库或类或其他东西做到这一点?


问题答案:

此代码的大部分是设置数字单词dict,仅在第一次调用时才完成。

def text2int(textnum, numwords={}):
    if not numwords:
      units = [
        "zero", "one", "two", "three", "four", "five", "six", "seven", "eight",
        "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
        "sixteen", "seventeen", "eighteen", "nineteen",
      ]

      tens = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"]

      scales = ["hundred", "thousand", "million", "billion", "trillion"]

      numwords["and"] = (1, 0)
      for idx, word in enumerate(units):    numwords[word] = (1, idx)
      for idx, word in enumerate(tens):     numwords[word] = (1, idx * 10)
      for idx, word in enumerate(scales):   numwords[word] = (10 ** (idx * 3 or 2), 0)

    current = result = 0
    for word in textnum.split():
        if word not in numwords:
          raise Exception("Illegal word: " + word)

        scale, increment = numwords[word]
        current = current * scale + increment
        if scale > 100:
            result += current
            current = 0

    return result + current

print text2int("seven billion one hundred million thirty one thousand three hundred thirty seven")
#7100031337


 类似资料:
  • 问题内容: 在PHP中,有没有一种简单的方法可以将数字转换为单词?举例来说, 27 到 27 。 问题答案: 我在网上找到了一些(2007/2008)源代码,它具有版权,但是我可以自由使用它,并根据需要对其进行修改,因此将其放在此处并在CC-Wiki下重新许可:

  • 问题内容: 我知道Internet Explorer具有自动换行样式,但是我想知道是否有跨浏览器的方法可以对div中的文本进行这种操作。 最好是CSS,但JavaScript代码片段也可以正常工作。 编辑:是的,指的是长长的弦,为人们加油! 问题答案: 阅读原始评论时,卢瑟福正在寻找一种 跨浏览器的 方式来包装 不间断的 文本(根据他对IE的自动换行设计,旨在破坏不间断的字符串)。 我现在已经使用

  • 问题内容: 我需要可视化2D numpy数组。我为此使用pyplot。这是代码: 我得到预期的输出。 现在我的问题是,有什么方法可以将上述代码中的“ img”从pyplot类型转换为numpy类型。我需要这样做,以便可以将可视化文件加载为opencv图像并对其进行进一步处理。我正在使用python 2.7,32位。 请帮助 谢谢 编辑1:在Thorsten Kranz解决方案之后 程序终止后,我从

  • 问题内容: 我正在尝试将字符串转换为。我不是在尝试解析主机名:字符串是ipv4地址。有工作吗?还是我必须手动解析它? 问题答案: 这样做更好,因为无论传递什么字符串,它都不会进行DNS查找。

  • 问题内容: 有很多示例可以使用jQuery在javascript/dom中实现某些功能。但是,使用jQuery并非总是一种选择,它会使理解jQuery编写的javascript解决方案的示例变得困难。 有没有一种简单的方法可以将jQuery代码转换为常规javascript?我猜不必访问或理解jQuery源代码。 问题答案: 最简单的方法是仅学习如何使用普通的DOM api进行DOM遍历和操作(您

  • 问题内容: 我有一个MySQL表,其中一列中的所有数据都以大写形式输入,但是我需要转换为Title Case,并识别类似于Daring Fireball Title Case脚本 的“小词” 。 我发现了将字符串转换为小写字母的出色解决方案,但Title Case函数似乎已被排除在我的MySQL版本之外。有没有一种优雅的方法可以做到这一点? 问题答案: !我对SQL一点都不方便。这是对我有用的方法