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

Python代码调试:敌军损失数据恢复程序测试不通过,求修正

敌军损失数据恢复程序修复

任务描述

Zenyk记录了n天的敌军每日损失,但丢失了其中1天的数据。已知总损失为x,且每日损失均为正整数,需要恢复丢失那天的数据;若计算出的结果为非正整数,输出Another mistake!。

原代码存在的问题

  • 输入读取错误:原代码通过循环多次读取输入,但实际n-1个丢失以外的数据是在同一行输入的,无需循环读取。
  • 判断条件错误:原代码仅判断x < b,但正确逻辑应检查计算出的丢失数据是否为正整数(即x - b > 0),因为每日损失必须是正整数。
  • 输出逻辑错误:原代码在循环内重复打印结果,实际上只需要计算一次现有数据的总和,再输出一次结果即可。

原错误代码

n, x = map(int, input().split())
for i in range(n-1):
    a = list(map(int, input().split()))
    b = sum(a)
    c = x - b
    print(c)
if x < b:
    print('Another mistake!')

修正后的代码

n, x = map(int, input().split())
# 处理n=1的情况:没有丢失数据,总损失就是当天的损失
if n > 1:
    existing_losses = list(map(int, input().split()))
    sum_existing = sum(existing_losses)
else:
    sum_existing = 0

missing_loss = x - sum_existing
if missing_loss > 0:
    print(missing_loss)
else:
    print('Another mistake!')

测试用例验证

  1. 测试用例1
    输入:
1 100000

输出:100000

  1. 测试用例2
    输入:
2 10
2

输出:8

  1. 测试用例3
    输入:
2 15
47

输出:Another mistake!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:20:29