2016-05-20 5 views
0

文字列の数字を合計するプログラムを書く必要があります。どのようにデシメル番号の文字列のシリーズの合計を取得するには?

サンプルコードがあります、私は

s = '1.23, 2.12, 3.45' 
num1 = [:4] 
num2 = [5:9] 
num3 = [10:] 
sum = num1+ num2+ num3 
print sum 

を書いたしかし、それは効率的ではありません。ユーザーから文字列を受け取った場合、そのコードを個別に区切ることができるコードをどのように書くことができますか?

答えて

0

1つのライナーソリューションにマップします。山車にそれらを変換して処理する前にその入力にスペースを囲むよう `float`トリムTIL彼らに

s = '1.23, 23.5, 56.77' 
print(sum([float(x) for x in s.split(", ")])) 
#81.5 
1

3段階で解決できます。

まず:split機能付きスプリット、,

s.split(',') 

第二の文字列:新しいリストからすべての要素のために、map機能で、float変換を適用

map(float, s.split(',')) 

第三:sumの機能で、リストからすべての要素を合計します。あなたの星座によって

res = sum(map(float, s.split(','))) 
print res 
+1

を合計その後、,(コンマとスペース)ですべての項目を分割します。 – BallpointBen

0

最初の分割は、その後、あなたのターゲット

x = s.split(',') 
y = map(float,x) 
print sum(y) 
+0

ありがとう、私はansを得た – user6359012

関連する問題