编辑:我首先给出了一个错误的原因,为什么它不起作用。正如其他人指出的那样,
if month == 1 or 10:
# ...
相当于
if (month == 1) or 10:
# ...
所以...
总是被执行。
你可以用
if month in (1, 10):
month1 = 0
甚至更好
a = [0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5]
month1 = a[month - 1]
要么
d = {1: 0, 2: 3, 3: 3, 4: 6, 5: 1, 6: 4,
7: 6, 8: 2, 9: 5, 10: 0, 11: 3, 12: 5}
month1 = d[month]
代替。
获得相同结果的另一种方法是使用datetime
模块:
from datetime import datetime
month1 = (datetime(2011, month, 1) - datetime(2011, 1, 1)).days % 7