Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 11, 2015 13:58:35

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Iskatel
тебя строка
у меня n*4 строк, где n - кол-во прохождений цикла.

Офлайн

#2 Сен. 11, 2015 14:01:53

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Но в функцию то ты каждый раз передаешь ОДНУ строку, а хочешь из одной выбрать с первой по четвертую

Напиши что вообще тебе нужно, а то по коду непонятно

Офлайн

#3 Сен. 11, 2015 14:17:11

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Iskatel
Напиши что вообще тебе нужно, а то по коду непонятно
Получил я строки:
1)ИСКРА, ООО
2)Российская Федерация, Хакасия респ., г. Абакан, ул. Советская, д. 209
3)1 479 280
4)28,86
5)Топоев Вадим Ильич
6)
7)1 479 280
8)28,86


Что надо:
1. После строк 1,5 и т.д. (шаг 4) поставить запятую;
2. строки 3,7 и т.д (шаг 4) удалить
3. Перед строками 4,8 и т.д. (шаг 4) поставить скобку.
4. Строки 4,8 и т.д. просуммировать.

Офлайн

#4 Сен. 11, 2015 14:29:54

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Ну както так:

s='''ИСКРА, ООО 
Российская Федерация, Хакасия респ., г. Абакан, ул. Советская, д. 209 
1 479 280 
28,86 
Топоев Вадим Ильич 
1 479 280 
28,86'''
 
result = []
summa = 0
 
for i, line in enumerate(s.split('\n')):
    if i % 4  == 0:
        result.append(line.strip()+',')
    elif i % 4  == 3:
        result.append('('+line.strip()) 
        summa += float(line.strip().replace(',','.'))
  
print '\n'.join(result)
print 'Сумма: ', summa

Отредактировано Iskatel (Сен. 11, 2015 14:37:31)

Офлайн

#5 Сен. 11, 2015 14:38:31

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Чё-та много
ИСКРА, ООО,
Сумма 0
ИСКРА, ООО,
Сумма 0
ИСКРА, ООО,
Сумма 0
ИСКРА, ООО,
(28,86
Сумма 28.86
ИСКРА, ООО,
(28,86
Топоев Вадим Ильич,
Сумма 28.86
ИСКРА, ООО,
(28,86
Топоев Вадим Ильич,
Сумма 28.86
ИСКРА, ООО,
(28,86
Топоев Вадим Ильич,
Сумма 28.86

Офлайн

#6 Сен. 11, 2015 14:39:48

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

На втором пионе все ок, на третьем проверить не могу. Сам в код ничего не добавлял?

ЗЫ. ты мой пример хоть запускаешь или уже свой?

ЗЫЫ

ИСКРА, ООО,
(28,86
Топоев Вадим Ильич,
(28,86
Сумма: 57.72

Отредактировано Iskatel (Сен. 11, 2015 14:41:06)

Офлайн

#7 Сен. 11, 2015 14:42:26

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Iskatel
ты мой пример хоть запускаешь или уже свой?
Ёпт, даже перепечатать нормально не смог

Офлайн

#8 Сен. 11, 2015 14:44:25

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Юзай CTRL-C CTRL-V

Офлайн

#9 Сен. 11, 2015 14:51:52

Kir@
Зарегистрирован: 2015-08-13
Сообщения: 124
Репутация: +  0  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

Iskatel
, СПАСИБО, победил ты мою беду!

Офлайн

#10 Сен. 11, 2015 14:53:02

Iskatel
Зарегистрирован: 2015-07-29
Сообщения: 291
Репутация: +  3  -
Профиль   Отправить e-mail  

чтение из файла ( по строкам, не с начала)

ЗЫ.

воткни в середину цикла

elif i % 4  == 2:
        result.append(line.strip())

а то адрес пропадает

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version