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

在Codeforces测试1中遭遇Runtime error,请求原因分析及排查

运行时错误原因分析
  • 输入读取逻辑不符合题目输入格式:Codeforces的测试用例通常会将所有输入一次性提供,比如第一行是整数num,第二行是num个用空格分隔的整数。你的代码在循环中每次调用input()会读取一整行,当测试用例的num个整数集中在同一行时,第二次input()会读取到包含多个数字的字符串,执行int(input())时会因为无法将多数字字符串转为整数抛出ValueError,直接触发运行时错误。
  • 其他次要可能:如果测试用例存在空行或非数字字符,int(input())也会抛出转换错误,但这种情况在Codeforces标准测试用例中极少出现,核心问题还是输入读取方式不匹配。
修复示例代码

改用一次性读取所有输入并拆分的方式,适配题目输入格式:

import sys

# 读取全部输入内容并拆分为整数列表
all_input = list(map(int, sys.stdin.read().split()))
num = all_input[0]
arrs = []

for ele in all_input[1:num+1]:
    if ele > 0:
        arrs.append(1)
    elif ele < 0:
        arrs.append(2)
    else:
        arrs.append(ele)

for x in arrs:
    print(x)

或者更简洁的实现:

import sys

data = list(map(int, sys.stdin.read().split()))
num = data[0]
result = ['1' if x>0 else '2' if x<0 else '0' for x in data[1:num+1]]
print('\n'.join(result))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 15:03:31