看板 Python 關於我們 聯絡資訊
參考一下 錯誤處理就不寫了 # 輸入資料 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://www.ptt.cc/bbs/Python/M.1645412031.A.6B7.html
OnoderaHaru: 開始年和結束年有可能是同一年喔 02/21 14:45
TuCH: 摁摁 那就是多一個控制項 02/21 15:37
skyleona: 謝謝各位大大解答 02/21 19:34