Найти - Пользователи
Полная версия: прочитать строку до точки
Начало » Python для экспертов » прочитать строку до точки
1 2
FILLIPO
Здравствуйте. Помогите пожалуйста решить вот что: на стандартный ввод подается строка (иногда очень длинная), которую запрещено запоминать целиком, а нужно выдергивать из нее цифры (в строке любые символы, все числа считаются последовательностями цифр) и прерваться, когда встречаешь точку.
вот мой вариант
	source = [int(i) for i in raw_input().split() if ord(i) in [ord(str(k)) for k in range(10)]]
но я не знаю, как прерваться по точке. Подскажите плз.
PS
сейчас читаю про re и понимаю, что пока не понимаю, можно/нужно ли их использовать
FILLIPO
ой, чорт, пытался найти ответ на свой вопрос и запостил не в ту ветку, извините
bazooka
так raw_input же после энтера какраз всю строку и пошлет
FILLIPO
нужно “послаться” по точке, а не по переносу строки
bazooka
я про
FILLIPO
которую запрещено запоминать целиком
FILLIPO
хорошо. пример строки, на которой я сыплюсь:

gh8k23locsm08.dfkjc999

последние три девятки не должны оказаться в цифрах, но ничего, кроме цифр, запоминать нельзя.
sypper-pit
сделай чтоб сначала просто split получал , а затем 0 массив отрабатывай :)
FILLIPO
нельзя написать source = raw_input().split(“.”) - я ведь запомню длинную строчку не только из цифр

вот ищу сейчас, как читать посимвольно, и не могу найти
FILLIPO
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)]]
sypper-pit
и что что она длинная :) передаётся всё равно строка , надо только её отделить.
>>> qwe  = "gh8k23locsm08.dfkjc999"
>>> qwe.split('.')
['gh8k23locsm08', 'dfkjc999']
>>> qwe.split('.')[0]
'gh8k23locsm08'
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB