作者TuCH (谬客)
看板Python
标题Re: [问题] 回圈问题
时间Mon Feb 21 10:53:49 2022
参考一下
错误处理就不写了
# 输入资料
my_date = input('Please input daterange ex: 2018/6~2019/12')
# 解析资料
start_date, end_date = my_date.split('~')
start_year, start_month = [int(i) for i in start_date.split('/')]
end_year, end_month = [int(i) for i in end_date.split('/')]
for year in range(start_year, end_year+1):
# 判断是否开始年或结束年
isStart = False
isEnd = False
if year == start_year:
isStart = True
elif year == end_year:
isEnd = True
for month in range(1,13):
# 总共有三种状态 开始年 结束年 中间年 分别写逻辑
if isStart :
if month >= start_month:
print(f'{year}/{month}')
elif isEnd :
if month <= end_month:
print(f'{year}/{month}')
else:
print(f'{year}/{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月之後的月份
: 请各位大大解惑,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.22.167.103 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1645412031.A.6B7.html
1F:推 OnoderaHaru: 开始年和结束年有可能是同一年喔 02/21 14:45
2F:→ TuCH: 摁摁 那就是多一个控制项 02/21 15:37
3F:推 skyleona: 谢谢各位大大解答 02/21 19:34