Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 19, 2011 20:13:16

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

Здравствуйте. Помогите пожалуйста решить вот что: на стандартный ввод подается строка (иногда очень длинная), которую запрещено запоминать целиком, а нужно выдергивать из нее цифры (в строке любые символы, все числа считаются последовательностями цифр) и прерваться, когда встречаешь точку.
вот мой вариант

	source = [int(i) for i in raw_input().split() if ord(i) in [ord(str(k)) for k in range(10)]]
но я не знаю, как прерваться по точке. Подскажите плз.
PS
сейчас читаю про re и понимаю, что пока не понимаю, можно/нужно ли их использовать



Офлайн

#2 Янв. 19, 2011 20:14:40

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

ой, чорт, пытался найти ответ на свой вопрос и запостил не в ту ветку, извините



Офлайн

#3 Янв. 19, 2011 20:17:43

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

так raw_input же после энтера какраз всю строку и пошлет



Офлайн

#4 Янв. 19, 2011 20:20:24

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

нужно “послаться” по точке, а не по переносу строки



Офлайн

#5 Янв. 19, 2011 20:23:53

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

я про

FILLIPO
которую запрещено запоминать целиком



Офлайн

#6 Янв. 19, 2011 20:29:05

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

хорошо. пример строки, на которой я сыплюсь:

gh8k23locsm08.dfkjc999

последние три девятки не должны оказаться в цифрах, но ничего, кроме цифр, запоминать нельзя.



Офлайн

#7 Янв. 19, 2011 20:37:14

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

прочитать строку до точки

сделай чтоб сначала просто split получал , а затем 0 массив отрабатывай :)

Офлайн

#8 Янв. 19, 2011 20:44:43

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

нельзя написать source = raw_input().split(“.”) - я ведь запомню длинную строчку не только из цифр

вот ищу сейчас, как читать посимвольно, и не могу найти



Офлайн

#9 Янв. 19, 2011 20:52:12

FILLIPO
От:
Зарегистрирован: 2009-05-03
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

прочитать строку до точки

sypper-pit, ааа, понял спасибо!!! :)

UPD

source = [int(i) for i in raw_input().split(".")[0] if ord(i) in [ord(str(k)) for k in range(10)]]



Отредактировано (Янв. 19, 2011 20:55:10)

Офлайн

#10 Янв. 19, 2011 20:56:16

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

прочитать строку до точки

и что что она длинная :) передаётся всё равно строка , надо только её отделить.

>>> qwe  = "gh8k23locsm08.dfkjc999"
>>> qwe.split('.')
['gh8k23locsm08', 'dfkjc999']
>>> qwe.split('.')[0]
'gh8k23locsm08'

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version