私は Python の初心者プログラマーで、いくつかのコードについて支援が必要です。添付は私が取り組んできたコードです。目的は、305.67 のような金額を取得し、その数値を "Three Hundred Five Dollars and Sixty Seven Cents" のようなテキスト フレーズに変換することです。これまでのところ、ほとんどのコードをテキストに分割することができましたが、特殊なケースである 11 から 19 の数字にはまだ問題があります。プログラムが 11-19 を適切に適用する場所と、不要な場合に「ZERO」文字列を削除するタイミングを決定する方法を理解する助けが必要です。プログラムを実行すると、私が言っていることがわかります。以下のメイン関数のループは、関数に応じて希望する量を指定してループを実行します。また、305.67 や 45 などの数値版のお金を取る「getDollarFormatText」という関数があります。13 テキスト形式で表示します。私が遭遇する問題は、プログラムに小数を無視させ、すべてを小数の左右に適切に変換させる方法です。これはロードされた問題であり、私はこれを徹底的に感謝します. 基本的に、この問題は簡単に修正できますが、対処方法がわかりません。コードは、2 桁の数字に取り組む関数から始まります (1 桁の数字だけで区切る関数には既に取り組みました)。
def getWordForTwoDigits(amount):
#This value uses integer division to get the number of tens within a number.
tensAmount = int(amount) / 10
#This variable uses the first function above to find the equivalent single number within the number given using modulo. (Zero through 9)
singlesWord = getWordForDigit(int(amount)%10)
#For this decision structure, the structure is set to figuring out the number of tens within a number and appropriately naming it after its correct name (ten, twenty, etc.)
if tensAmount == 1:
wordTen = "TEN"
else:
if tensAmount == 2:
wordTen = "TWENTY"
else:
if tensAmount == 3:
wordTen = "THIRTY"
else:
if tensAmount == 4:
wordTen = "FORTY"
else:
if tensAmount == 5:
wordTen = "FIFTY"
else:
if tensAmount == 6:
wordTen = "SIXTY"
else:
if tensAmount == 7:
wordTen = "SEVENTY"
else:
if tensAmount == 8:
wordTen = "EIGHTY"
else:
if tensAmount == 9:
wordTen = "NINETY"
return "%s-%s"%(wordTen, singlesWord)
########################################
def getWordForThreeDigits(dolamount):
hundredAmount = int(dolamount) / 100
twoDigits = getWordForTwoDigits(int(dolamount) % 100)
if hundredAmount == 0:
return twoDigits
else:
if hundredAmount == 1:
wordHun = "ONE HUNDRED"
else:
if hundredAmount == 2:
wordHun = "TWO HUNDRED"
else:
if hundredAmount == 3:
wordHun = "THREE HUNDRED"
else:
if hundredAmount == 4:
wordHun = "FOUR HUNDRED"
else:
if hundredAmount == 5:
wordHun = "FIVE HUNDRED"
else:
if hundredAmount == 6:
wordHun = "SIX HUNDRED"
else:
if hundredAmount == 7:
wordHun = "SEVEN HUNDRED"
else:
if hundredAmount == 8:
wordHun = "EIGHT HUNDRED"
else:
if hundredAmount == 9:
wordHun = "NINE HUNDRED"
return "%s %s"%(wordHun, twoDigits)
####################################
def getDollarFormatText(dollarAndCents):
#how would you separate 190.67 (example) to 190 and 67 and and give the text form for eacn