我们如何仅打印最后一件循环的项目?Python 3


import datetime
date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date) 

我只想在表格2075-01-30中打印最后一个日期,而不是2075-01-30 00:00:00

在最后一行中不注明打印语句

import datetime
date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
print(date) 

不要每次打印日期,您只需要通过不明智的方式将print移动到循环外,就像Stephen Rauch所解释的那样。

如果只想打印日期而不是日期和时间,则实际上可能要使用date对象而不是datetime对象:

date = datetime.date(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date) 

如果您实际上想使用datetime进行中间计算(可能对诸如日光拯救过渡(也许您已经想到并想要(造成影响?(,您可以仅转换为date最后,或用strftime打印您想要的任何格式:

date = datetime.datetime(2000,9,17)
for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date.strftime('%Y-%m-%d')

但如果没有,只使用date

可以简单地完成为:

import datetime as dt
date_str = dt.datetime(2000, 9, 17) + dt.timedelta(days=50)
print(date_str.strftime("%Y-%m-%d"))

结果:

2000-11-06

最新更新