今天遇到一个低级错误:
week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
day = input().lower()
for i in week:
if week[i][0] == day:
有没有发现第四行的错误?运行时报错:TypeError: list indices must be integers or slices, not str
问题:在for循环中,i指的是什么,看下边这个例子:
week = ['monday','tuesday','wednesday','thursday','friday','saturday','sunday']
for i in week:
print(i)
注意到,i指的是元素,而不是元素的下标。
究其原因,是因为最近经常写:
for i in range (9):
类似的for循环。下意识的认为i是数字。