3の倍数と3のつく数字だけ

土曜日, 3月 26th, 2011 by

日経ソフトウェア 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

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Facebook comments:

comments

Leave a Reply


Get Adobe Flash player
single