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

如何将数字转换为对应星期几?Python函数改写实现

解决方法

方法1:用列表映射星期数字与名称

直接定义一个包含星期英文名称的列表,根据传入的day_of_week数字作为索引取出对应名称(匹配你输入1对应Tuesday的规则):

def string(hour_of_day, day_of_week, date):
    # 索引0对应Monday,1对应Tuesday,以此类推
    week_days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
    print(f'{week_days[day_of_week]} {date} at hour {hour_of_day}')

调用string(12, 1, '2020/02/18')会输出:Tuesday 2020/02/18 at hour 12

方法2:从日期字符串直接解析星期名称(更准确)

既然已经传入了date参数,可直接用datetime模块解析日期字符串获取星期名称,不用手动维护数字映射,还能避免数字与名称不匹配的问题:

from datetime import datetime

def string(hour_of_day, day_of_week, date):
    # 将日期字符串转为datetime对象,格式要和输入的date一致
    date_obj = datetime.strptime(date, '%Y/%m/%d')
    # %A 返回完整的星期英文名称
    week_day_name = date_obj.strftime('%A')
    print(f'{week_day_name} {date} at hour {hour_of_day}')

调用后同样能得到正确输出,哪怕传入的day_of_week数字有误,也会基于实际日期输出正确的星期名称。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:21:07