如何修正Lambda表达式问题,实现输入日期加100天转字符串输出
解决日期加100天的Python代码问题
你的代码存在两个核心问题,导致无法得到预期结果:
- 未导入
datetime模块中的date和timedelta类,直接调用会触发NameError - 使用
lambda定义了匿名函数但未执行,将其转为字符串只会得到函数对象的内存地址描述,而非计算后的日期
修正后的完整代码
from datetime import date, timedelta my_date = input('Please enter your start date with format year/month/day: ') print(f'You entered {my_date}') split_my_date = my_date.split("/") year = int(split_my_date[0]) month = int(split_my_date[1]) day = int(split_my_date[2]) # 计算目标日期并格式化为指定字符串格式 target_date = date(year, month, day) + timedelta(days=100) result_date = target_date.strftime("%Y/%m/%d") print(result_date)
关键修正说明
- 导入必要模块:必须先从
datetime导入date(用于创建日期对象)和timedelta(用于处理时间差) - 直接计算日期:无需使用
lambda,直接创建初始日期对象并加上100天的时间差 - 格式化输出:用
strftime("%Y/%m/%d")将计算后的日期对象转为"年/月/日"格式的字符串,和输入格式保持一致
示例运行
输入:2022/3/1
输出:2022/06/09
内容的提问来源于stack exchange,提问作者paul3.14
相关产品推荐
相关产品推荐

