2017-06-22 80 views
1
N = int(input()) 

list = [] 

while(N>0): 

    n = int(input()) 
    list.append(n) 
    N = N-1 

Q = int(input()) 

while(Q>0): 

    check = int(input()) 
    count = list.count(check) 
    if(count==0): 
     print("NOT PRESENT") 
    else: 
     print(count) 
    Q = Q-1 

以上是我在hackerearth中編寫的代碼。我作爲運行時錯誤得到響應。但是,當我在我的Ubuntu的Python控制檯嘗試它的作品完美HackerEarth運行時錯誤 - Python 3中的NZEC

+0

我不知道什麼HackerEarth ......但如果他們的解釋是蟒蛇2(而不是python3)你可以嘗試使用的raw_input'來代替'輸入()'()'。 –

+0

錯誤是什麼? – Arun

回答

0

根據提供的信息,它看起來像你試圖解決this problem

輸入數組是所有提供在一行中的元素列表。你的代碼使用'input()',它一次讀取整行。但是,由於存在空格字符,因此無法將其轉換爲整數。

罪魁禍首代碼: -

N = int(input()) 
list = [] 
while(N>0): 
    n = int(input()) 
    list.append(n) 
    N = N-1 

更改爲: -

n = int(input()) 
arr = [int(x) for x in input().split()] 

此外,我會建議不要使用變量list,因爲它過度乘坐該變量/類型的全球意義。

既然你說過它在你的本地機器上工作,我認爲你是手動輸入輸入。測試本地工作的正確方法是將示例輸入寫入文件,例如input.sample。然後運行命令行下面的命令(S)(我假設你正在使用的* nix系統和蟒蛇代碼文件code.py中)

$> python3 code.py < input.sample 

這應該給你的錯誤: -

Traceback (most recent call last): 
    File "/tmp/test2.py", line 7, in <module> 
     n = int(input()) 
ValueError: invalid literal for int() with base 10: '1 1 1 2 2 0'