[python刷題]牛客網11——把羅馬轉化為英文描述
阿新 • • 發佈:2019-01-08
題目描述
有一個非負整數,請編寫一個演算法,列印該整數的英文描述。
給定一個int x,請返回一個string,為該整數的英文描述。
測試樣例:
1234
返回:"One Thousand,Two Hundred Thirty Four"
class ToString: def toString(self, num): # write code here to19 = 'One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen'.split() tens = 'Twenty Thirty Forty Fifty Sixty Seventy Eighty Ninety'.split() def words(n): if n < 20 : return to19[n - 1 : n] if n < 100 : return [tens[n//10-2]] + words(n%10) if n < 1000 : return [to19[n//100 - 1]] + ["Hundred"] + words(n % 100) for p,w in enumerate(('Thousand','Million','Billion'),1): #[(1, 'Thousand'), (2, 'Million'), (3, 'Billion')] if n < 1000 ** (p+1): return words(n//1000 ** p) + [w] + words(n % 1000 ** p) return " ".join(words(num)).replace("Thousand ","Thousand,").replace("lion ","lion,") or "Zero"