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
-
num:=num / 1000
-
-
-
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で特定の文字列の単語を逆にする
文字列が与えられ、文字列に存在するすべての単語を逆にすることが目標です。分割法と逆関数を使用して出力を実現できます。いくつかのサンプルテストケースを見てみましょう。 Input: string = "I am a python programmer" Output: programmer python a am I Input: string = "tutorialspoint is a educational website" Output: website educational a is tutorialspoint 以下の手順に従って、目
-
Pythonのbin()
bin()関数は、10進数を2進数に変換します。変換するパラメータとして正または負の整数を使用できます。 構文 以下は関数の構文です。 bin(n) Parameters : an integer to convert Return Value : A binary string of an integer or int object. Exceptions : Raises TypeError when a float value is sent as argument. 次の例では、正と負の整数を2進数に変換します。結果には接頭辞0bが付いており、数値が2進表現であることを示しています