Уведомления

Группа в Telegram: @pythonsu

#1 Май 9, 2018 14:15:04

raes121212
Зарегистрирован: 2018-05-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачку в Python))

Здравствуйте, бегло ознакомился с синтаксисом Питона, а с программированием не ознакомился)). Помогите пожалуйста составить программу, которая открывает файл .TXT, который выглядит примерно так:
unit 12, 13, 14
unit2 13, 14 15
cost 2, 13, 15
cost 3, 144, 15

Нужно найти в этом файле все значения COST и заменить первую после пробела цифру на 1, т.е. строчка COST 2, 144, 15 превратилась в COST 1, 144, 15, и так со всеми COST. Получиться должно вот так:
unit 12, 13, 14
unit2 13, 14 15
cost 1, 13, 15
cost 1, 144, 15

Затем сохранить изменения в файле. Блин, это моя первая задачка, а я даже не знаю как к ней подойти(( Помогите пожалуйста. Открыть файл и найти слово COST я смогу, а вот заменить первую цифру после пробела - вообще не понимаю как это сделать.


Отредактировано raes121212 (Май 9, 2018 14:19:05)

Офлайн

#2 Май 9, 2018 14:38:02

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачку в Python))

 res = a.split('cost ')[1].split(', ')
res[0] = '1'
result = 'cost ' + ', '.join(res)
print(result)

Офлайн

#3 Май 10, 2018 01:44:21

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите пожалуйста решить задачку в Python))

  
>>> import io
>>> 
>>> text = """\
... unit 12, 13, 14
... unit2 13, 14 15
... cost 2, 13, 15
... cost 3, 144, 15
... """
>>> 
>>> stream = io.StringIO(text)
>>> 
>>> import re
>>> 
>>> def tr(s):
...     return re.sub(r'^cost \d+', 'cost 1', s)
... 
>>> out = ''.join(map(tr, stream))
>>> print(out, end='')
unit 12, 13, 14
unit2 13, 14 15
cost 1, 13, 15
cost 1, 144, 15
>>>



Отредактировано py.user.next (Май 10, 2018 01:47:31)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version