当前位置: 首页 > 编程笔记 >

Python编程中的英语单词整数

景成和
2023-03-14
本文向大家介绍Python编程中的英语单词整数,包括了Python编程中的英语单词整数的使用技巧和注意事项,需要的朋友参考一下

假设我们有一个数字。数字可以是0到231 – 1之间的任何数字。我们必须将数字转换为单词。因此,如果数字是512,那么结果将是512。

为了解决这个问题,我们将遵循以下步骤-

  • 定义一些列表,例如less_than_20,它将保存从1到19的所有单词

  • 另一个数组,例如数十个,可容纳数十个,二十个,三十个,以此类推,最多可容纳九十

  • 数千个数组,可容纳数千,百万和十亿个

  • 定义一个名为helper()的函数,这将花费n

  • 如果n为0,则返回空白字符串

  • 否则,当n <20时,返回less_than_20 [n] +空白

  • 否则,当n <100时,返回tens [n / 10] +空格+ helper(n mod 10)

  • 否则返回less_than_20 [n / 100] +“一百” +助手(n mod 100)

  • 在主要方法中,执行以下操作

  • 如果num为0,则返回“零”

  • ans:=空字符串,i:= 0

  • 而num> 0

    • ans:= helper(num mod 1000)+千[i] +空格+ ans


    • 如果num mod 1000不为0,则

    • 返回ans

    让我们看下面的实现以更好地理解-

    示例

    class Solution(object):
    less_than_20 = ["", "One", "Two", "Three", "Four", "Five", "Six",
    "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen",
    "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen",
    "Nineteen"]
       tens = ["","Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty",
    "Seventy", "Eighty", "Ninety"]
    thousands = ["", "Thousand", "Million", "Billion"]
       def numberToWords(self, num):
          if num == 0:
             return "Zero"
          ans = ""
          i = 0
          while num > 0:
             if num % 1000 != 0:
                ans = self.helper(num % 1000) + Solution.thousands[i] + " " + ans
                i += 1
                num //= 1000
             return ans.strip()
       def helper(self, n):
          if n == 0:
             return ""
          elif n < 20:
             return Solution.less_than_20[n] + " "
          elif n < 100:
             return Solution.tens[n//10] + " " + self.helper(n % 10)
          else:
             return Solution.less_than_20[n // 100] + " Hundred " +
    self.helper(n % 100)
    ob = Solution()
    print(ob.numberToWords(512))
    print(ob.numberToWords(7835271))

    输入值

    512
    7835271

    输出结果

    Five Hundred Twelve
    Seven Million Eight Hundred Thirty Five Thousand Two Hundred Seventy One
     类似资料:
    • 问题内容: 我想检查Python程序中英语词典中是否有单词。 我相信可能会采用nltk wordnet接口,但是我不知道如何将其用于如此简单的任务。 将来,我可能想检查单词的单数形式是否在字典中(例如,属性->属性->英语单词)。我将如何实现? 问题答案: 要获得更大的功能和灵活性,请使用专用的拼写检查库,例如。有一个教程,或者您可以直接学习: 带有一些词典(en_GB,en_US,de_DE,f

    • 问题内容: 我正在Java应用程序中处理一些英文文本,因此需要阻止它们。例如,从文本“ amenities / amenity”中,我需要获取“ amenit”。 该函数如下所示: 我已经找到了Lucene Analyzer,但是对于我所需要的来说,它看起来太复杂了。 http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/analysi

    • 问题内容: 我正在使用python进行数据清理练习,正在清理的文本包含我要删除的意大利语单词。我一直在网上搜索是否可以使用nltk之类的工具包在Python上执行此操作。 例如给出一些文本: 我想留下: 有人知道如何做到这一点吗?任何帮助将非常感激。 问题答案: 您可以使用NLTK的语料库: 不幸的是, 艾奥 恰好是一个英语单词。通常,可能很难确定一个单词是否为英语。

    • 问题内容: 在这里,我想问些奇怪的事情。 我想问问有什么方法/逻辑可以将整数值转换成包含数字英文单词的字符串值? 例如,用户输入22并获得输出22或2。 谢谢 问题答案: 看看这段代码,它可能就是您想要的。例如,在main方法内部,如果有: 输出: 编辑 我复制了下面的代码,清理了一下格式(主方法在底部):

    • 问题内容: 是否有任何Java API(S),将提供(如英语单词的复数形式的)? 问题答案: Wolfram | Alpha返回给定单词的变形形式列表。 参见以下示例: http://www.wolframalpha.com/input/?i=word+cactus+inflected+forms 这是他们的API: http://products.wolframalpha.com/api/

    • 我在一个机器翻译项目中工作。为了继续我的工作,我需要识别句子的主语、动词、宾语。目前我正在使用斯坦福NLP解析器来分析这个句子。但我不知道如何提取SVO。我有什么想法可以考虑吗?