2016-06-14 12 views
1

インデックスaとbの間の指定されたリスト内の項目の合計を得る関数を書くにはどうすればよいですか? aList=[6,3,4,2,5]a=1b=3を与えるたとえば、関数はここ9を返す必要があります私のコードは次のとおりです。あなたがリストのスライスでこれを達成することができます与えられたリストの与えられた範囲のすべての数を合計するPython

def sumRange(L,a,b): 
    sum= [] 
    L = [6,3,4,2,5] 
    for i in range(a,b+1,1): 
    sum +=L[i] 
    return sum 

答えて

1

あなた自身のソリューションをロールしたいと思われるようです。

def sumRange(L,a,b):                                                 
    sum = 0                                                   
    for i in range(a,b+1,1):                                               
     sum += L[i]                                                 
    return sum                                                  

L = [6,3,4,2,5]                                                  
a = 1                                                    
b = 3                                                    

result = sumRange(L,a,b)                                                

print "The result is", result 

このプログラムを印刷

結果は9

です:あなたは(あなたがあなたの質問に持っていたコードに基づいて)このようにそれを行うことができます
3

ここ
sum(your_list[a:b + 1]) 

を、your_list[a:b+1]スライスである - の一部のインデックスaから始まり、インデックスbで終わり、の両方のインデックスの値を含む(これはb + 1が必要な理由です)。

1

単純にインデックスのスライスをPythonとsum関数で使用できます。

return sum(L[a:b]) 
関連する問題