<p>如果值[i]小于100,就不要打印一个。在这里:</p>
<pre><code>def numberToWords(num):
store = {1: 'One', 2: 'Two', 3: 'Three', 4: 'Four', 5: 'Five', 6: 'Six', 7: 'Seven', 8: 'Eight', 9: 'Nine', 11: 'Eleven', 12: 'Twelve', 13: 'Thirteen', 14: 'Fourteen', 15 : 'fifteen', 16: 'Sixteen', 17: 'Seventeen', 18: 'Eighteen',
19: 'Nineteen'}
word = ['Billion', 'Million', 'Thousand', 'Hundred', 'Ninety', 'Eighty', 'Seventy', 'Sixty', 'Fifty',\
'Forty', 'Thirty', 'Twenty', 'Ten', 'Nine', 'Eight', 'Seven', 'Six', 'Five', 'Four', 'Three', 'Two', 'One']
value = [1000000000, 1000000, 1000, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
if num == 0: return 'Zero'
result = ''
if num in store: return store[num]
for i in range(len(value)):
if (num //value[i] >= 1):
y = num // value[i]
if value[i] < 100:
result += word[i] + " "
else:
result+=numberToWords(y) + " " + word[i] + " "
num %= value[i]
return result
print(numberToWords(12345))
</code></pre>
<p>产量:一万二千三百四十五</p>