Python:在程序中更新Datetime,每X秒循环一次列表

2024-04-23 16:27:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图写一个模拟(为一个爱好项目)贯穿整个季节,并在每一个季节后保持一个数年过去。你知道吗

(稍后将添加一些根据季节和时间进行繁殖的植物,但目前还无法克服)

我想我的一个问题是我不会再给sim\u打电话了。计算机存储模拟时间的一个值,然后循环使用该值。你知道吗

它打算使用datetime和%操作符每240秒创建一年。然后每90秒循环一个季节。当冬天结束时,它又回到了春天,如此无限期地循环。不知道该怎么做,也不知道我到底错过了什么。你知道吗

只学了一个月的Python,很乐意接受大家的建议和指点,任何帮助都是真诚的感谢!你知道吗

import os
from datetime import datetime, time

os.system("cls")


now = datetime.now()
day_start = datetime.combine(now.date(), time(0))
time_now = ((now - day_start).seconds)


spring = "Spring"   # increased harvest
summer = "Summer"   # standard harvest
autumn = "Autumn"   # no harvest
winter = "Winter"   # no harvest


seasons = [spring, summer, autumn, winter]
year = 0


def season(world_time):
    sim_time = int(time_now)
    if sim_time % 360 == 0:
        year += 1
        return year

    if sim_time % 90 == 0:
        # Spring has arrived
        return spring

    elif sim_time % 90 == 0 and sim_time % 180 == 0:
        # Summer has arrived
        return summer

    elif sim_time % 90 == 0 and sim_time % 180 == 0 and sim_time % 270 == 0:
        # Autumn has arrived
        return autumn

    else:
        # Winter has arrived
        return winter


while True:
    season(time_now)
    print(season(time_now))
    print(year)

# end of file

Tags: datetimereturntimesimyearnowseasonhas
1条回答
网友
1楼 · 发布于 2024-04-23 16:27:06

暂时删除年份计算,因为不能在函数外访问该变量。你知道吗

问题出在day_start = datetime.combine(now.date(), time(0))

我只想让它成为一个datetime.now(),因为它将在启动时跟踪。你知道吗

相关问题 更多 >