【发布时间】:2019-11-01 16:13:37
【问题描述】:
我正在尝试使用 Python 编写一个返回月份名称序列的程序。
例如,如果我输入:
gen = next_month('October')
lst = [next(gen) for i in range(15)]
print (lst)
我应该得到:
['November', 'December', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December', 'January'])
但我得到以下代码的索引超出范围错误:
month_names = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December']
def next_month(name: str) -> str:
"Return a stream of the following months"
global month_names
month_index = month_names.index(name)
while True:
yield (month_names[month_index])
month_index = month_index + 1
只是不知道如何解决它。提前感谢您的任何指导!
【问题讨论】:
-
请考虑格式化您添加到问题中的代码 sn-ps。它可能会帮助其他人清楚地看到问题并尝试帮助您。