2 回答
TA贡献1820条经验 获得超9个赞
您正在使用 for-each 循环结构。for x in iterable当您对可迭代对象执行 a 时,x这里不是索引,而是元素本身。因此,当您运行 时for d in dates,Python 将返回datetime日期中的对象,而不是索引。
相反,你必须这样做:
for checkexp in dates:
if checkexp + timedelta(days = 7) < current:
print('Food will expire within a week')
或者,如果您想要索引和元素,则可以使用该enumerate函数。
for i, checkexp in enumerate(dates):
# You can access the element using either checkexp or dates[i].
if checkexp + timedelta(days = 7) < current:
print('Food will expire within a week')
如果必须使用索引,则可以使用该len函数来获取可迭代的长度,并像在 C 中一样访问列表元素。但这不是 Pythonic。
for i in range(len(dates)):
if dates[i] + timedelta(days = 7) < current:
print('Food will expire within a week')
TA贡献1875条经验 获得超5个赞
for checkexp in dates:
#checkexp = dates[d]
if checkexp + timedelta(days = 7) < current:
print('Food will expire within a week')
添加回答
举报