2013-06-29 65 views
3

它工作在我的電腦和在線編譯器+調試器中。但是,當我在codechef中提交它時,它給我一個運行時錯誤(nzec)。你什麼時候遇到運行時錯誤以及如何解決它。這段代碼有什麼問題?我經常遇到運行時錯誤。我如何避免它?任何形式的幫助將深受讚賞!Python中的運行時錯誤(nzec)

t = int(raw_input()) 
for i in range(t): 
    a = map(int, raw_input()) 
    if a.index(min(a)) != 0: 
     if min(a) == 0: 
      print a.index(min(a)) 
     else: 
      print str(str(a.index(min(a))) * (min(a)+1)) 
    elif a.index(min(a)) == 0: 
     k = min(a) 
     a[0] = 99 
     l = min(a) 
     if l == k: 
      print str(str(a.index(min(a))) * min(a)) 
     elif l > k: 
      print '1'+ ('0' * (k+1)) 
+0

爲什麼你發佈兩次相同的[問題](http://stackoverflow.com/questions/17373344/nzec-runtime-error-in-python)? –

+0

好吧......我永遠無法找出運行時錯誤的正確原因......較早的是針對不同的代碼......並且這是一個不同的代碼。 – Haripriya

+0

希望我的回答能幫到你 –

回答

2

你必須拆分raw_input()

raw_input()接收輸入的只是一個字符串。使用raw_input().split()將字符串轉換爲列表。否則你會產生索引問題,因爲在輸入中給出的空間用於映射。所以,你得到的NZEC(非零退出代碼)錯誤

a=map(int,raw_input().split()) 

會做

+0

謝謝!這確實幫助我擺脫了運行時錯誤! – Haripriya

2

很多時候是由於留下一些白色的地方。如果數據是由 「」 分離

raw_input().strip().split(" ") 

嘗試此。