You need to enable JavaScript to run this app. Python两种输入写法为何在CodeChef上分别通过和报NZEC错误?
优惠活动
大模型
产品
解决方案
定价
更多

Python两种输入写法为何在CodeChef上分别通过和报NZEC错误?

两份代码的差异与错误原因分析

核心差异

两份代码仅输入读取逻辑不同,第二份代码的输入逻辑存在两处致命问题,直接触发NZEC错误:

  • 第一份代码的输入逻辑完全匹配题目输入规则:题目给出的测试用例是单行包含两个值(整数取款额、浮点数余额),input().split()会一次性读取整行输入,按空格拆分出两个字符串后分别转换类型,符合输入格式要求,因此运行正常。
  • 第二份代码的问题:
    1. 变量未定义错误:input()的入参是控制台输出的提示字符串,执行x = int(input(x))时,变量x还没有被赋值,直接传入input()会触发NameError,程序直接异常退出。
    2. 输入行数不匹配:即便修复变量未定义的问题,两次调用input()会尝试读取两行输入,但题目仅提供一行输入,第二次input()读取不到内容会触发EOFError,同样导致程序异常退出。

与评测平台机制的关联

该错误确实和CodeChef的输入注入方式有关:线上评测平台为非交互式运行,会提前把所有测试用例输入一次性写入程序的标准输入流,不会等待用户交互式输入。当程序尝试读取超出输入流长度的内容时,会直接抛出EOF类错误,返回非零退出码,也就是你遇到的NZEC错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 21:45:09