2013-06-28 59 views
0

此代碼在我的系統中正常工作。但是,當我在在線編譯器+調試器中運行時,它給了我一個運行時(NZEC)錯誤,說明line4中的縮進:如果a.index(min(a))是錯誤的。我期望的解決方案是最外面的for循環需要運行't'次。根據我的代碼必須是正確的。請幫我找到錯誤。另外,如果你能告訴我什麼時候我們會收到一個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

看起來你的代碼混合了製表符和空格。這在Python 2中是合法的,但是一個非常糟糕的想法(它已經成爲Python 3中的一個錯誤)。我懷疑你在運行代碼的在線解釋器正在採取更嚴格的觀點,並認爲它是一個錯誤。它可能會看到類似於Stack Overflow所看到的東西(您的代碼也沒有正確複製到您的問題中)。

您可以通過運行帶有-t標誌的Python解釋器來解決此問題,該標誌將在任何時候出現不一致的選項卡使用情況時發出警告,或使-tt發生錯誤。許多文本編輯器都有將標籤轉換爲可以幫助解決問題的空間的工具。

+0

ya ...代碼第6行的打印語句沒有正確縮進。但我刪除了標籤,而是把空格。它仍然顯示我運行時錯誤! – Haripriya