2016-03-30 3 views
-3

私は出力に0機能(パイソン)

よりも大きくなければならない入力を持つ整数のリストの合計を支援する機能の基礎を持っているしかし、私はに新しいですPythonの一部を「アサート」し、コードに「assert」ステートメントを実装するのに苦労しています。

def sum(list): 
    sum = 0 
    for x in list: 
     sum = sum + x 
    return sum 
+3

を読んでいないことでミスを犯しましたか? – JRodDynamite

+0

入力がリストの場合、「入力は0より大きくなければならない」という意味はどうですか?また、 'sum'は組み込み関数であり、再実装する必要はありません。 – bereal

+0

申し訳ありません私はこれを初めて使い、assert文の使い方を理解しようとしています。それは条件を確認することです。整数または浮動小数点数> 0のいずれかが満たされているかどうかを調べます。希望は意味をなさない。そうでなければ、私はアサーションについてもっと知ってうれしいです。 – cedricroux

答えて

3

アサートを使用する必要はありません、あなたは、このようなリストの内包として神託の方法を使用することができます。

def my_sum(lst): 
    return sum(x for x in lst if x > 0) 
1

つ以上!理由はないからです。

def my_sum(lst): 
    return sum(filter((0).__lt__, lst)) 
0

既定のメソッド 'sum'を定義する必要はありません。既にPythonに存在しています。

>>> lst = [1,2,3,4,-5] 
>>> sum([x for x in lst if x > 0]) 
10 

編集:あなたは `assert`文を含めるのはなぜ質問