中级农民
- 积分
- 118
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2013-6-22
- 最后登录
- 1970-1-1
|
这道题挺难的啊。是lc hard number to english
- class Solution(object):
- def __init__(self):
- self.less20 = ["","One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"]
- self.tens = ["","Ten","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"]
- self.thousands = ["","Thousand","Million","Billion"]
- def numberToWords(self, num):
- """
- :type num: int
- :rtype: str
- """
- res = ''
- index = 0
- while num:
- res = self.helper(num%1000) + ' ' + self.thousands[index] + ' ' + res
- index += 1
- num = num//1000
- return res
- def helper(self, num):
- res = ''
- if num>=100:
- res = self.less20[num//100] + ' ' + 'Hundred'
- num = num%100
- if num >=20:
- res = res + (' ' if res else '') + self.tens[num//10] + (' ' if self.tens[num//10] else '') + self.less20[num%10]
- else:
- res = res + (' ' if res else '') + self.less20[num]
- return res
- num = 2111111121
- so = Solution()
- a = so.numberToWords(num)
- print(a)
复制代码 |
|