2015-04-06 4 views
0

Первый шаг в моем коде - указать количество строк для ввода. Затем я ввожу строки в виде:Как я могу ссылаться на элемент в Python?

John 430.09 300.90 2070.00 

И если у меня есть, например, 3 входа, как я могу сослаться на последнее значение в каждой строке ввода? Я должен подвести итог этим значениям.

ответ

0

вы можете попробовать, как это:

with open("your_document") as f: 
    my_list = [] # this will save the last value of every line 
    for x in f: 
     my_list.append(float(x.strip().split()[-1])) 
    print sum(my_list) 
0

Используя несколько простых конструкций Python:

split превратит строку в список, расщепление по данному разделителем (или пробел, если вы этого не сделаете обеспечивают один):

>>> data = 'John 430.09 300.90 2070.00' 
>>> data.split() 
['John', '430.09', '300.90', '2070.00'] 

Индексация список дает отдельные части, и с помощью отрицательного индекса будет считать с конца вместо:

>>> data.split()[-1] 
'2070.00' 

Тогда вы можете бросить, что в обращении, так что вы можете добавить их:

>>> float(data.split()[-1]) 
2070.0 

Вы можете петлю над входом, и подвести итоги. Совместное использование:

>>> data = '''John 430.09 300.90 2070.00 
... Ben 530.10 200.50 3020.50''' 
>>> result = sum(float(x.split()[-1]) for x in data.splitlines()) 
>>> result 
5090.5 
+0

спасибо! :) Итак, я представляю три отдельные строки в одной и той же форме, и теперь, как я могу объединить их в один объект? В конце ваш пост - объект «data =» «John 430.09 300.90 2070.00 ... Ben 530.10 200.50 3020.50 '' '. –

+0

Почему я могу получить это: data =' '' John 430.09 300.90 2070.00 ... Ben 530.10 200.50 3020.50 '' '? Почему есть три - >>'? –

+0

Я использовал три кавычки, потому что это позволяет мне иметь строку, разделенную на несколько строк. Откуда берутся ваши данные? Вы можете заменить 'data.splitlines () 'в моем коде с любым элементом, который у вас есть, который повторяется по каждой строке за раз. – Ben

Смежные вопросы