tryhi 发表于 2020-12-24 00:43:57

将一个月份转换为后面连续几个月如何写?

本帖最后由 tryhi 于 2020-12-24 00:46 编辑

定义一个函数fun,两个参数
参数1:6位数的字符串
参数2:一个整数
返回一个列表,代表连续几个月份的6位数字符串

比方:
fun('202011',3)
返回--》
['202011','202012','202101']


fun('202012',5)
返回--》
['202012','202101','202102','202103','202104']


fun('201809',20)
返回--》
['201809','201810','201811','201812',
'201901','201902','201903','201904',
'201905','201906','201907','201908',
'201909','201910','201911','201912',
'202001','202002','202003','202004',]


请问应该如何写,有没有什么现成的模块可以用,还是只能纯计算,不停的判断是否达到12月?

jackz007 发表于 2020-12-24 00:56:31

def fun(a , b):
    d = []
    y , m = int(a[:4]) , int(a)
    for x in range(b):
      d . append('%04d%02d' % (y , m))
      m += 1
      if m > 12:
            y , m = y + 1 , 1
    return d
print(fun('201809' , 20))

tryhi 发表于 2020-12-24 01:00:20

jackz007 发表于 2020-12-24 00:56


感谢,完美,原来是我想复杂了,这回帖速度这么快,厉害

jackz007 发表于 2020-12-24 01:12:27

tryhi 发表于 2020-12-24 01:00
感谢,完美,原来是我想复杂了,这回帖速度这么快,厉害

    兄弟客气{:5_109:}
页: [1]
查看完整版本: 将一个月份转换为后面连续几个月如何写?