Skip to main content
 首页 » 编程设计

Python 日历类型错误

2025年05月04日26lautakyan007

我正在尝试创建一个日历并为其中一个工作日安排一个时间段。

timetable = [[""] * 24 for day in range(7)] 
 
timetable[0][15] = "meeting with Jane" 
 
# first let's define weekday names 
WEEKDAYS = ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday',  
'Saturday', 'Sunday') 
 
# now we iterate over each day in the timetable 
 
for day in timetable: 
 
# and over each timeslot in each day 
 
day_name = WEEKDAYS[day] 
 
  for i, event in enumerate(day): 
      if event: # if the slot is not an empty string 
        print("%s at %02d:00 -- %s" % (day_name, i, event)) 

我得到错误:

day_name = WEEKDAYS[day] 
TypeError: tuple indices must be integers, not list 

我知道“day”作为列表传递给导致此错误的元组,但我应该对我的代码进行哪些修改才能解决此问题?

请您参考如下方法:

使用更多的枚举!

for index, day in enumerate(timetable): 
    day_name = WEEKDAYS[index] 
    for i, event in enumerate(day): 
        if event: # if the slot is not an empty string 
            print("%s at %02d:00 -- %s" % (day_name, i, event))