回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在尝试写一个代码,可以将数字转换成单词,最多可达999万亿。这是我目前为止的代码。它可以工作到119,但之后事情变得一团糟。我不能使用<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>或enumerate。我被困在如何打印更大的数字上;如何格式化像978674237105这样的数字?在</p>
<pre><code>NUMBERS = ["zero", "one", "two","three","four","five","six","seven","eight","nine",
"ten","eleven","twelve","thirteen","fourteen","fiveteen","sixteen",
"seventeen","eightteen","nineteen"]
TENS = ["", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty",
"ninety"]
HUNNITS = ["","hundred","thousand","million","billion","trillion"]
n = eval(input("What is the number the you want to convert? "))
def convert():
if n >= 20:
tens = n // 10
units = n % 10
if units != 0:
result = TENS[tens] + "-" + NUMBERS[units]
else:
result = TENS[tens]
else:
result = NUMBERS[n]
print (result)
def convert2():
if n >=100:
tens2 = n//100
units2 = n%100
if units2 != 0:
result2 = HUNNITS[tens2] + "-" + TENS[tens2] + "and" + NUMBERS[units2]
else:
result2 = HUNNITS[tens2]
else:
result2 = HUNNITS[n]
print(result2)
def main():
if n >=20 and n< 100:
x = convert()
if n >=100:
y = convert2()
main()
</code></pre>