虽然有很多答案了,还是想提供一个另类做法
小缺点是需要用到 datetime, dateutil
但可以更原生地处理日期
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
start = datetime(2020, 10, 1)
end = datetime(2022, 2, 1)
month = relativedelta(months=1)
curr = start
while curr <= end:
print(f'{curr.year}/{curr.month}')
curr += month
※ 引述《skyleona (多益爆了!)》之铭言:
: 大家好,最近刚学python有循环问题想请教
: 用循环方式去依序将年份及月份列出来,月份设定为1时,输出正常:
: for year in range(2000,2020):
: for month in range(1,13):
: print(str(year) + '/' + str(month) )
: 但是如果输入区间,就会出错,ex:2018/6~2019/12,就2019年只会列出6月之后的月份
: 请各位大大解惑,谢谢