2016-08-28 13 views
-2

文字列で区切られた3つの整数変数を出力しようとしています。しかし、それはPython3で文字列で区切られた整数変数の文字列を出力したい

TypeError: unsupported operand type(s) for +: 'int' and 'str'.

私にエラーを与えている私の試み:middleは文字列のリストであるため、sum(middle)を計算しようとしたとき

def unpack_values(grades): 
    first, *middle, last = grades 
    avg = sum(middle)/len(middle) 
    print(str(first)+"-------"+str(avg)+" ---- "+str(last)) 

unpack_values(['10', '20', '30', '40', '50']) 

答えて

5

エラーが発生します。最初に整数に変換する必要があります。

In [1]: def unpack_values(grades): 
    ...:  first, *middle, last = [int(g) for g in grades] 
    ...:  avg = sum(middle)/len(middle) 
    ...:  print('{} ------ {} ------ {}'.format(first, avg, last)) 
    ...:  

In [2]: unpack_values(['10', '20', '30', '40', '50']) 
10 ------ 30.0 ------ 50 
+0

ありがとうございました.... –

関連する問題