2017-02-10 2 views
1

コロンの前後に入力された整数の値を見つけようとしています。私は最初の値を取得する方法を考え出しましたが、コロンの後の値が複数の文字の場合、最初の値を取得するだけです。コロン(Python)の後にintを見つけよう

startingWeight = input(("Starting weight of food (in lbs:ozs)=")) 
endingWeight = input(("Ending weight of food (in lbs:ozs=")) 

startingWeightPos = startingWeight.find(":") 
endingWeightPos = endingWeight.find(":") 

startingWeightPounds = startingWeight[0:startingWeightPos] 
startingWeightOz = startingWeight[1:startingWeightPos] 

endingWeightPounds = endingWeight[0:endingWeightPos] 
endingWeightOz = endingWeight[1:endingWeightPos] 

print (startingWeightPounds) 
print (endingWeightPounds) 
print (startingWeightOz) 
print (endingWeightOz) 
+0

スライスは '[:pos]'と '[pos + 1:]'でなければなりません。または、単に['split'](https://docs.python.org/2/library/stdtypes.html#str.split)を使用することもできます。 – khelwood

+0

あなたは文字列に '.split(": ")'を実行できます – WhatsThePoint

答えて

0

使用split左にと:の右側にあるものを手に入れます。

text = '100:66' 
text_split = text.split(":") 

lbs = text_split[0] 
ozs = text_split[1] 

必要に応じてfloat()を使用してこれらをフロートに変換します。

0

あなたがスライスを使用したい場合は、2つのスライスは[:pos]posまであらゆるもの)、および[pos+1:]pos後のすべて)になります。

など。

pos = pounds.index(':') 
pounds = weight[:pos] 
oz = weight[pos+1:] 

しかし、この簡略化のためにsplit関数が存在します。

pounds, oz = weight.split(':') 
関連する問題