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

如何修正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)

关键修正说明

  1. 导入必要模块:必须先从datetime导入date(用于创建日期对象)和timedelta(用于处理时间差)
  2. 直接计算日期:无需使用lambda,直接创建初始日期对象并加上100天的时间差
  3. 格式化输出:用strftime("%Y/%m/%d")将计算后的日期对象转为"年/月/日"格式的字符串,和输入格式保持一致

示例运行

输入:2022/3/1
输出:2022/06/09

内容的提问来源于stack exchange,提问作者paul3.14

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:05:21