【发布时间】:2020-09-27 02:41:23
【问题描述】:
在我的previous question 中,我询问了如何在 python 中执行以下操作(这是一个总结):
我正在用 Python 创建一个自动化程序,它将自动导航到我学校的网站,并使用 selenium 加入在线课程等。我已经完全完成了那部分,一切都很完美。现在,我正在尝试弄清楚如何安排这些操作。
我总共有 10 节课。我一天有6节课。我的学校周从星期一和星期五开始。在我的时间表中,总共有 6 天,这意味着每周,时间表中的一天轮换出,而我那周没有,另一天轮换进入。
所以,为了进一步解释我的意思,在第一周,周一到周五我会有第 1-5 天,但我不会有第 6 天。我会有第 6 天下周一。
我该如何安排这些天(第 1 天 - 第 6 天),以便它们在周一至周五运行,其中一天轮换,然后在下周返回(如上所述)?
这是我得到的答案,这正是我所需要的,但是,它只有在 first_day_of_school 是星期一时才有效。
from datetime import datetime
day_of_year = datetime.now().timetuple().tm_yday
first_day_of_school = datetime(2020, 9, 15).timetuple().tm_yday
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
day_of_term = week_of_school * 5 + day_of_week
class_index = day_of_term % 6
print(class_index)
我想知道的是,如果first_day_of_school 是在星期二,我该如何正确修改它以使其以相同的方式工作?
我知道 // 7 和 * 5 部分是在星期一跳过周末的方式,但我无法计算出让它在另一天工作的数学。在过去的 12 小时里,我尝试了很多不同的组合,但我无法解决它。我真的希望答案不只是盯着我看,因为这真的让我很沮丧。
我已经尝试前后解决它,但没有任何效果。 Python 的这一方面对我来说非常陌生。
【问题讨论】:
标签: python python-3.x schedule