Re: [閒聊] 數字翻譯成英文

看板Python作者 (黑駿)時間13年前 (2012/04/13 21:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《beatitude (...)》之銘言: : 前陣子看到一個公司的面試考題: http://i.imgur.com/ETTIS.png
: 覺得有趣就做了一下 : 看到比較抽象的函數建構在比較基礎的函數之上, : 最終得到可以翻譯任意長度數字的能力, : 還滿震驚的... : 讓我想到 Paul Graham 談論 Lisp 時的論點 什麼論點?可以分享一下嗎>"< 另外你的程式有小 bug 喔 input output 0 '' 100 'one hundred, ' 我自己也寫了一個版本,希望大家也可以幫我測測看有沒有 bug 也希望能拋磚引玉,看到其他更多更好的做法 number = ['','one','two','three','four','five', 'six','seven','eight','nine','ten', 'eleven','twelve','thirteen','fourteen','fifteen', 'sixteen','seventeen','eighteen','nineteen'] number10 = ['','ten','twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninty'] def convert(n): # -> string if(n==0): return 'zero' result = '' if n>=1000: result += convert(n/1000) + ' thousand, ' n %= 1000 if n>=100: result += number[n/100] + ' hundred, ' n %= 100 if n>=20: result += number10[n/10] + ' ' n %= 10 result += number[n] # delete the trail ',' and ' ' if result[-1] == ' ': result = result[:-1] if result[-1] == ',': result = result[:-1] return result -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.230.123
文章代碼(AID): #1FY2pfQX (Python)
討論串 (同標題文章)
文章代碼(AID): #1FY2pfQX (Python)