如何通过添加 7 天来创建从 x 日期到 y 日期的天数列表?

发布于 2025-01-20 03:17:39 字数 306 浏览 0 评论 0原文

我尝试了此代码,但是在检查列表长度时什么也没有显示

from datetime import date
from datetime import timedelta
sdate= date(1990,10,25)
tdate=date(1990,10,25)
i=7
rqd_dt=[]
adate = date(2022,12,31)
while adate > tdate:
    rqd_dt.append(tdate)
    tdate = sdate+timedelta(days=i)  
print(len(rqd_dt))

I have tried this code but showing nothing while checking the list length

from datetime import date
from datetime import timedelta
sdate= date(1990,10,25)
tdate=date(1990,10,25)
i=7
rqd_dt=[]
adate = date(2022,12,31)
while adate > tdate:
    rqd_dt.append(tdate)
    tdate = sdate+timedelta(days=i)  
print(len(rqd_dt))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尾戒 2025-01-27 03:17:39

你只是犯了一个小错误。更改此行:

tdate = sdate+timedelta(days=i)

tdate = tdate+timedelta(days=i)

这样,tdate 就会不断增加 7 天。正如您所看到的,tdate 在每个循环中都保持相同,因此它不会卡在 print 语句中 - 它会卡在无限循环中。如果您在 while 循环中添加了一些调查性打印语句,您会看到这一点。

You have a small mistake only. Change this line:

tdate = sdate+timedelta(days=i)
to
tdate = tdate+timedelta(days=i)

This way, tdate keeps incrementing by 7 days. As you had it, tdate remains the same every loop, so it's not stuck at the print statement - it's stuck in an infinite loop. If you added a little investigative print statement inside your while loop, you would see this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文