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

编写累计近3天患病人数程序遇阻:第4天计算问题求助

解决指定日期患病人数计算问题

你的代码核心问题是判断条件错误(误用前3天总和的变量days判断日期,而非输入的目标日期),且未实现第4天及以后的递推计算逻辑。以下是修正后的完整代码:

# 初始化前3天的患病人数
sick_numbers = [1, 4, 64]

while True:
    try:
        target_day = int(input('OUTBREAK \n What day do you want a sick count for?: '))
        if target_day <= 0:
            print('Sorry that\'s invalid')
            continue
        # 若目标天数超过已计算范围,递推计算后续天数
        while len(sick_numbers) < target_day:
            next_day = sum(sick_numbers[-3:])
            sick_numbers.append(next_day)
        # 列表索引从0开始,需对目标天数减1取值
        print(f'Total: {sick_numbers[target_day - 1]}')
    except ValueError:
        print('Please enter a valid integer day number')

关键说明:

  • 用列表sick_numbers存储每日患病人数,方便直接调用前3天数据求和
  • 当目标天数大于已计算天数时,循环递推计算到目标天数,避免重复运算
  • 新增try-except处理非整数输入,提升程序容错性
  • 统一处理所有无效输入(≤0或非整数)的提示逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:25:26