gpt4 book ai didi

python - 在python中安排5天的6天时间表

转载 作者:行者123 更新时间:2023-12-04 08:51:35 40 4
gpt4 key购买 nike

我正在用 Python 创建一个自动化程序,它将自动导航到我学校的网站,并使用 selenium 加入在线类(class)等。我已经完全完成了那部分,一切都很完美。现在,我正在尝试弄清楚如何安排这些操作。
我正在考虑使用 schedule ?对于简单的工作似乎很好,但我不知道这对这样的事情是否有好处。
我一共有10节课。我一天有6节课。我的学校周从星期一和星期五开始。在我的时间表中,总共有 6 天,这意味着每周,时间表中的一天被轮换出来,而那一周我没有,另一个轮换进来。
所以,为了进一步解释我的意思,在第一周,周一到周五我会有第 1-5 天,但我不会有第 6 天。我会在下周一有第 6 天。
我定义的日子如下:

import configparser
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait

driver = webdriver.Firefox()


<defining what each class does here with selenium, etc.>


# Defining what classes I have in each day

def Day1():
class()
class()
class()
class()
class()
class()

def Day2():
class()
class()
class()
class()
class()
class()

def Day3():
class()
class()
class()
class()
class()
class()

def Day4():
class()
class()
class()
class()
class()
class()

def Day5():
class()
class()
class()
class()
class()
class()

def Day6():
class()
class()
class()
class()
class()
class()
每个 class只是一个 不同我每天都有课。有些是相同的,有些是不同的,但这对于这个问题并不重要。 (对于这个问题,我刚刚将它们都称为 class,因为它更容易)
我该如何安排这些日子(第 1 天 - 第 6 天),以便它们在周一到周五运行,其中一天轮换,然后在下周返回(如上所述)?
python schedule 模块似乎可以做到,但是当我有这样的东西时,我什至不知道从哪里开始。
我觉得这将是一个非常简单的解决方案,但我似乎无法解决。

最佳答案

您需要计算它是学期的哪一天,并将其修改为 6。一个好的起点是这段代码,以获取当年中的当天:

from datetime import datetime
day_of_year = datetime.now().timetuple().tm_yday
您还需要弄清楚一年中的哪一天是开学的第一天。调用 first_day_of_school .然后,假设学校在星期一开始:
day_of_school = day_of_year - first_day_of_school
week_of_school = day_of_school // 7
day_of_week = day_of_school % 7 # 0 means Monday, European style
day_of_term = week_of_school * 5 + day_of_week
class_index = day_of_term % 6
现在 class_index是 [0, 5] 中的数字,告诉您这一天要参加哪组类(class)。
您可能需要针对假期进行调整,例如如果星期五放假意味着星期五的类(class)没有跳过而是转移到星期一。为此,您需要适当的工作日算术,这可以使用 NumPy 或其他库轻松高效地完成,或者您可以硬编码假期列表并蛮力进行,因为一个学期只有几个月.

关于python - 在python中安排5天的6天时间表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64074378/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com