calendar モジュールを使う

アリエル・ネットワークさんで Python を学び始めた @ さんの パスワード認証 を見て、私だったらこう実装するなって書いてみました。calendar.weekday() が曜日を表す値を返すなら、そのままタプルのインデックスとして使用すると良いと思います。リストではなくタプルを使用する理由は、タプルは不変性オブジェクトで、要素である曜日が変更されることはないからです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import calendar

text_weekday = ('Monday', 'Tuesday', 'Wednesday', 'Thursday',
                'Friday', 'Saturday', 'Sunday')

def main():
    year = input('year:')
    month = input('month:')
    day = input('day:')
    
    print 'Weekday:', text_weekday[calendar.weekday(year, month, day)]
    print calendar.month(year, month)
    print 'end'

if __name__ == '__main__':
    main()

実行結果。

$ python calender_kai.py 
year:2010
month:7
day:10
Weekday: Saturday
     July 2010
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

end