日経ソフトウェア 2010年4月号特別付録の問題をPythonでといてみた。
問題1: 「3の倍数と3のつく数字だけ・・・」
1から100までの整数を1行に1つずつ,順番に出力するプログラムを作成してください。ただし,3の倍数と3のつく数は全角の漢数字(例:30なら三〇)と出力し,それ以外の数字は半角数字(アラビア数字)で出力してください
1 2 3 4 5 6 7 8 9 | >>> KanziList = u"〇一二三四五六七八九" >>> def isKanji(x): ... return x % 3 == 0 or "3" in str(x) ... >>> def convertToKanzi(number): ... return "".join([KanziList[int(digit)] for digit in str(number)]) ... >>> for number in range(1,101): ... print convertToKanzi(number) if isKanji(number) else number |