1
我無法解決這個問題,並且需要幫助來理解爲什麼在下面的代碼塊中返回時它只輸出date_list中的第一個列表,而不是與print語句相同?代碼塊不會返回所有值嗎?
date_list = [['2015-11-11', '2015-12-02'], ['2016-04-03', '2016-04-15'], ['2016-05-10', '2016-05-22']]
def formatdates():
for i in range(len(date_list)):
start_date = date_list[i][0]
end_date = date_list[i][1]
s = datetime.strptime(start_date, "%Y-%m-%d")
e = datetime.strptime(end_date, "%Y-%m-%d")
formatted_s = s.strftime("%e-%b-%Y")
formatted_e = e.strftime("%e-%b-%Y")
i += 1
print("{} to {}".format(formatted_s, formatted_e)) # Output 1 below
return print("{} to {}".format(formatted_s, formatted_e)) # Output 2 below
print(formatdates())
想要的結果是在函數中返回時,根據print語句輸出格式化日期列表? 如何將所有行作爲打印列表返回?
輸出1:
11-NOV-2015 2-DEC-2015
3-APR-2016至15-APR-2016
10五月 - 2016年22月 - 2016
輸出2:
11-NOV-2015 2-DEC-2015
這是值得添加一個解釋,所以OP實際上知道他們的代碼有什麼問題,並可以從下次的錯誤中學習。 – DeepSpace
@valentin,謝謝我明白我現在做錯了什麼:) – MattE
@DeepSpace,對於遇到同樣問題的新用戶會有好處。 –