2016-06-14 5 views
1

私はthis Codewars exerciseを完成させています。CodeWars "パリティ外れ値を検索"エラー?

整数(少なくとも3の長さがありますが、 は非常に大きい可能性があります)の整数が含まれています。アレイ 内の整数であっても、単一の整数を除くいずれかの完全奇数または完全である N.は、引数として配列を受け取り、例えばN.

を返すメソッドを書く

[2,4 、11

[160、3、1719、19、11 13、-21]

を返す必要があります:0、100、4、11、2602、36]

を返すべき160

しかし、私は次のコードを提出する:たとえかかわらず、私はエラー1 should equal 2を取得し、いくつかのIの理由

test.assert_equals(find_outlier([1,2,3]), 2) 

:このテストケースでは

def ifeven(list): 
    #Determine if we are dealing with list of evens or odds 
    sum = 0 
    for ran in (0,1,2): 
     sum += abs(list[ran])%2 
    avg = sum/3 
    r_avg = round(avg) 
    return r_avg == 0 

def find_outlier(integers): 
    even = ifeven(integers) 
    new = [] 
    for num in integers: 
     new.append(num%2) 
    if even: 
     loc = new.index(1) 
    else: 
     loc = new.index(0) 
    return integers[loc] 

を(運動リンクを参照してください)別のコンパイラでコードを実行すると、(正しい)答えとして2が得られます。

私のコードまたはコードワードのコンパイラに問題はありますか?/U /プルーンによって示唆されるように

+3

使用されているpythonのバージョンを確認してください。 Python 2と3は '/'演算子を異なる方法で扱います。ここを参照してくださいhttp://stackoverflow.com/questions/21316968/division-in-python-2-7-and-3-3 – nbryans

+0

^それは問題でした。ありがとう。 –

+0

これを回答または重複して投稿してください。 – Prune

答えて

2

は、ここでの答えは次のとおりです。

が使用されているのpythonのバージョンを確認してください。 Python 2と3は/演算子を別々に扱います。参照:Division in Python 2.7. and 3.3

関連する問題