如何基于输入日期获取星期几(Python实现)
问题修复与优化方案
你的代码存在几处语法和逻辑错误,下面逐一说明并给出修正后的版本:
错误点梳理
- 字典中
5 : "Sturday"拼写错误,正确应为"Saturday" - 遍历字典键时,
day_dict.key()是错误写法,Python字典获取所有键的方法是day_dict.keys()(复数形式) - 返回值时误写为
day[key],这里应该从字典day_dict中取值,即day_dict[key] - 函数调用后没有打印结果,导致看不到最终输出
- 额外优化:不需要循环遍历字典,直接通过键索引字典即可获取对应星期,更高效
修正后的完整代码
import datetime def dayOfTheWeek(day, month, year): date = datetime.date(year, month, day) weekday = date.weekday() day_dict = { 0 : "Monday", 1 : "Tuesday", 2 : "Wednesday", 3 : "Thursday", 4 : "Friday", 5 : "Saturday", 6 : "Sunday" } # 直接通过键索引字典,无需循环 return day_dict[weekday] year = int(input("Year: ")) month = int(input("Month: ")) day = int(input("Day: ")) # 调用函数并打印结果 print(dayOfTheWeek(day, month, year))
测试输入2022、11、10,会输出Thursday,符合预期。
内容的提问来源于stack exchange,提问作者Aleksandra Milicevic
相关产品推荐
相关产品推荐

