You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将datetime.weekday()返回值映射为对应星期坐标替代多if判断

优化实现方案

核心思路

利用datetime.weekday()返回值0~6正好对应周一到周日的索引特性,用有序列表直接映射坐标,省去所有分支判断。

代码实现

import datetime as dt
import pyautogui
import time

# 按weekday()返回顺序(0=周一,6=周日)存储对应坐标
WEEKDAY_COORDS = [
    (340, 431),  # 周一
    (529, 432),  # 周二
    (721, 436),  # 周三
    (912, 436),  # 周四
    (1107, 435), # 周五
    (1293, 436), # 周六
    (1484, 434)  # 周日
]

dow = dt.today().weekday()
today = WEEKDAY_COORDS[dow]

pyautogui.click(today)
time.sleep(1)

可选扩展方案

如果你的业务场景需要单独引用单个星期的坐标常量,也可以用字典实现映射:

WEEKDAY_MAP = {
    0: (340, 431), # MON
    1: (529, 432), # TUE
    2: (721, 436), # WED
    3: (912, 436), # THUR
    4: (1107, 435),# FRI
    5: (1293, 436),# SAT
    6: (1484, 434) # SUN
}
today = WEEKDAY_MAP[dow]

两种方案的查找效率都是O(1),比多分支判断逻辑更简洁,后续维护修改坐标只需要调整列表/字典内的对应项即可。

内容的提问来源于stack exchange,提问作者william price

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:42:02