#!-*- coding:utf-8 -*- ndg = [ {0: ''}, {0: 'じゅう'}, {0: 'ひゃく', 3: 'ぴゃく', 6: 'ぴゃく', 8: 'ぴゃく'}, {0: 'せん', 3: 'ぜん'}, ] dig = [ {0: ''}, {0: 'まん'}, {0: 'おく'}, {0: 'ちょう'}, {0: 'けい'}, {0: 'がい'}, {0: 'じょ'}, {0: 'じょう'}, {0: 'こう'}, {0: 'かん'}, {0: 'せい'}, {0: 'さい'}, {0: 'ごく'}, {0: 'こうがしゃ'}, {0: 'あそうぎ'}, {0: 'なゆた'}, {0: 'ふかしぎ'}, {0: 'むりょうたいすう'} ] num = [ {0: 'ぜろ'}, {0: 'いち'}, {0: 'に'}, {0: 'さん'}, {0: 'よん'}, {0: 'ご'}, {0: 'ろく', 3: 'ろっ'}, {0: 'なな'}, {0: 'はち', 3: 'はっ', 4: 'はっ'}, {0: 'きゅう'} ] def num2ja(arg): sn = str(arg) ln = len(sn) if sn == 0: return num[0][0] if ln >= 17*4+1: return dig[17][0] n = 0 ret = "" while n < ln: s = int(sn[n]) if s != 0 and (s != 1 or (ln-n)%4 == 1): ret += num[s].has_key(ln-n) and num[s][ln-n] or num[s][0] if s != 0: ret += ndg[(ln-n-1)%4].has_key(s) and ndg[(ln-n-1)%4][s] or ndg[(ln-n-1)%4][0] ret += dig[(ln-n-1)/4].has_key(s) and dig[(ln-n-1)/4][s] or dig[(ln-n-1)/4][0] n += 1 return ret def num2nabeatzz(number): nabeatzz = [] nabeatzz_3 = "アホになる" nabeatzz_5 = "犬っぽくなる" if (number % 3) == 0 or str(number).find("3") != -1: nabeatzz.append(nabeatzz_3) if (number % 5) == 0: nabeatzz.append(nabeatzz_5) return nabeatzz if __name__ == '__main__': print num2ja(35) print num2nabeatzz(35)