【发布时间】:2020-08-28 16:08:31
【问题描述】:
目前正在尝试获取从星期一为 0 到星期日为 6 的每个月的第一个星期日的列表。打印结果应如下所示,例如 2020 年 [2, 5, 4, 0, 2, 5, 1, 3, 6, 1]
在输入 2020 年和 1 月的第一个工作日“星期三”后使用当前脚本,我得到
TypeError: %:'NoneType'and'int' 的操作数类型不受支持
这是我当前的脚本,非常感谢任何见解或帮助!
import calendar
yr_input = input("Today's year: ")
yr= int(yr_input)
first_week_day_input = input('Enter the first week day of January: ')
def jan_1st_wd(x):
if first_week_day_input.lower() == 'monday':
fst_wd = 0
elif first_week_day_input.lower() == 'tuesday':
fst_wd = 1
elif first_week_day_input.lower()== 'wednesday':
fst_wd = 2
elif first_week_day_input.lower() == 'thursday':
fst_wd = 3
elif first_week_day_input.lower() == 'friday':
fst_wd = 4
elif first_week_day_input.lower() == 'saturday':
fst_wd = 5
elif first_week_day_input.lower() == 'sunday':
fst_wd = 6
return fst_wd
fst_wd = jan_1st_wd(first_week_day_input)
wd_list=[]
cal = calendar.Calendar(firstweekday=fst_wd)
y=1
yr= int(yr_input)
def first_wdL(yr , jan = 1):
y=1
while y < 13:
for x in cal.itermonthdays2(yr, jan):
if x[0] == 1:
wd_list.append(x[1])
continue
jan+=1
y += 1
wd_list = first_wdL(yr)
print(wd_list)
【问题讨论】: