2017-06-22 5 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 

上記は、私がハッカーに書いたコードです。私はランタイムエラーとして応答を得ます。私はUbuntuのPythonのコンソールにしようとする。しかし、それは提供された情報に基づいてHackerEarthランタイムエラー - Python 3のNZEC

+0

あなたは '()' ')(' raw_inputで入力を交換しようとする可能性があり、私はHackerEarthについて何も知らない...しかし、彼らのインタプリタは、Python 2(とないのpython3)である場合。 –

+0

エラーは何ですか? – Arun

答えて

0

完璧に動作し、それはあなたがthis problemを解決しようとしているように見えます。

入力配列はすべて一列に設けられた要素のリストです。あなたのコードは一度に1行全体を読み込む '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に書き込むことです。次に、コマンドラインで以下のコマンドを実行します(私はあなたが* nixのシステムを使用してPythonのコードはファイル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' 
関連する問題