Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonプログラミングにおける整数から英語の単語


番号があるとします。数字は0から231–1までの任意の数字にすることができます。数字を単語に変換する必要があります。したがって、数値が512のような場合、結果は512になります。

これを解決するには、次の手順に従います-

  • less_than_20のようないくつかのリストを定義します。これは、1から19までのすべての単語を保持します

  • 10のような別の配列は、10、20、30などを最大90まで保持します

  • 数千、数百万、数十億を保持するための数千の別の配列

  • helper()という1つの関数を定義します。これには、n

    かかります。
  • nが0の場合、空白の文字列を返します

  • それ以外の場合、n <20の場合、less_than_20[n]+空白スペースを返します

  • それ以外の場合、n <100の場合、数十[n / 10] +空白スペース+ヘルパー(n mod 10)

    を返します。
  • それ以外の場合は、less_than_20 [n / 100] +“ Hundred” + helper(n mod 100)

    を返します。
  • メインの方法から、次のようにします

  • numが0の場合、「ゼロ」を返します

  • ans:=空の文字列、i:=0

  • num> 0

    • num mod 1000が0でない場合、

      • ans:=helper(num mod 1000)+ 1000[i]+空白スペース+ans


  • 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

  1. PythonでのTkinterプログラミング

    TkinterはPythonの標準GUIライブラリです。 PythonをTkinterと組み合わせると、GUIアプリケーションをすばやく簡単に作成できます。 Tkinterは、TkGUIツールキットへの強力なオブジェクト指向インターフェースを提供します。 Tkinterを使用してGUIアプリケーションを作成するのは簡単な作業です。次の手順を実行するだけです- Tkinterモジュールをインポートします。 GUIアプリケーションのメインウィンドウを作成します。 上記のウィジェットを1つ以上GUIアプリケーションに追加します。 メインイベントループに入り、ユーザーによってトリガーされた各イベン

  2. Pythonでのタートルプログラミング

    カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角