Pythonプログラミングにおける整数から英語の単語
これを解決するには、次の手順に従います-
-
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
-
PythonでのTkinterプログラミング
TkinterはPythonの標準GUIライブラリです。 PythonをTkinterと組み合わせると、GUIアプリケーションをすばやく簡単に作成できます。 Tkinterは、TkGUIツールキットへの強力なオブジェクト指向インターフェースを提供します。 Tkinterを使用してGUIアプリケーションを作成するのは簡単な作業です。次の手順を実行するだけです- Tkinterモジュールをインポートします。 GUIアプリケーションのメインウィンドウを作成します。 上記のウィジェットを1つ以上GUIアプリケーションに追加します。 メインイベントループに入り、ユーザーによってトリガーされた各イベン
-
Pythonでのタートルプログラミング
カメはPythonの特別な羽です。 Turtleを使用すると、簡単に製図板に描くことができます。 まず、タートルモジュールをインポートします。次にウィンドウを作成し、次にタートルオブジェクトを作成し、タートルメソッドを使用して製図板に描画できます。 いくつかのカメの方法 方法 パラメータ 説明 Turtle() なし 新しいタートルオブジェクトを作成して返します forward() 金額 指定された量だけカメを前進させます backward() 金額 指定された量だけカメを後方に動かします right() 角度 カメを時計回りに回転させます left() 角