即使在pycharm上运行它返回0时,我仍在获取此python代码的运行时错误(NZEC)。
这是我有史以来第一个SPOJ问题,我是python和一般编码的新手。因此,请尽可能以通俗易懂的方式进行解释
n=int(input())
for i in range(n):
s=input().split()
c=0
while c<len(s):
if s[c].find('machula')>=0:
err=c
c+=2
if err==0:
new=str(int(s[4])-int(s[2]))
elif err==2:
new=str(int(s[4])-int(s[0]))
elif err==4:
new=str(int(s[0])+int(s[2]))
s[err]=new
print(s[0]+" "+s[1]+" "+s[2]+" "+s[3]+" "+s[4])
答案 0 :(得分:0)
NZEC代表非零退出代码,这意味着您的程序确实以非零退出代码返回,或带有异常。
您实际上使用练习中提供的示例输入来测试您的应用程序吗?这就是示例的目的所在。如果您的程序没有为示例输入产生正确的结果,则提交解决方案没有任何意义。那肯定会失败的。
如果您的Python文件名为“ absys.py”,则应将输入内容(无任何修改)复制并粘贴到文件“ input.txt”中(例如),然后运行:< / p>
python absys.py < input.txt
如果我使用示例输入运行您的代码,则会得到Python异常:
NameError: name 'err' is not defined
解释NZEC。
还请注意您链接页面上的第一条评论:
如果有人遇到运行时错误,请尝试使用两个getline().....一个用于行,另一个用于字符串。
...并仔细阅读问题的输入规范:
“每个测试用例前面都有一个空行。”
您的代码不会跳过空行,这就是导致上述错误的原因。通过简单的修复,您的应用程序将为给定的示例输入返回正确的输出。