我是python的新手,一周前开始学习这种语言,试着用codechef.
以下是问题链接:https://www.codechef.com/problems/COOMILK
因此,根据我迄今为止所理解的,我输入了以下代码..
t=int(input())
f=[]
if(t >= 1 and t <= 50):
for each in range(t):
n=int(input())
if(n >= 1 and n <=50):
m=input().split()
for i in range(len(m)):
if(m[i]=='milk'):
q=1
elif(len(m)==1 and m[0]=='cookie'):
q=0
break
elif(m[i]=='cookie' and m[i+1]!='milk'):
q=0
break
f.append(q)
for i in f:
if(i==1):
print("YES")
elif(i==0):
print("NO")
因此,除了在输入期间不检查n个约束外,实际显示的是运行时错误。对于这一点,有人能解释清楚为什么我得到了nzec错误吗?我自己编译了它,对于所有的测试用例,它都正常工作,但是没有在代码主厨上编译。任何帮助都将不胜感激。
我从网上收集到的是,我目前使用的python3.x中没有raw_input,所以这里只是一个友好的提醒.
发布于 2017-03-04 16:17:14
NZEC代表“非零出口代码”。当您遇到运行时错误时,通常会出现超出绑定错误的索引。
在代码的第14行中有一个错误:
elif (m[i]=='cookie' and m[i+1]!='milk'):
如果i+1超出了范围呢?例如,将投入考虑为:
1
3.
曲奇牛奶饼干
当i的值为2,而代码的第14行开始执行时,它将生成一个超出绑定错误的索引(因为mi+1,即m3不存在!)它是一种运行时错误,从而生成NZEC错误。
在代码的第7行之后添加以下代码:
if m[-1]=='cookie':
f.append(0)
continue
发布于 2021-07-03 18:36:33
你可以试试用
try:
#working code
except Exception:
pass
尝试并捕获java代码的异常。
https://stackoverflow.com/questions/42597758
复制相似问题