[Freeschool] [JT] Re: чему стоит учить в школе
Mikolaj Golub
=?iso-8859-1?q?to=2Emy=2Etrociny_=CE=C1_gmail=2Ecom?=
Пт Окт 24 14:49:26 MSD 2008
On Fri, 24 Oct 2008 13:29:35 +0400 Denis Kirienko wrote:
DK> Michael Shigorin пишет:
>> On Thu, Oct 23, 2008 at 04:57:07PM +0400, Denis Kirienko wrote:
>>>> import sys
>>>> for i in sys.stdin.read().split():
>>>> print int(i)
>>> О, это уже выход. Я же писал - что у Питона есть своя логика и
>>> свои методы, мне, человеку, испорченному C++, очень тяжело
>>> доходить до таких подходов.
>>
>> while line = gets
>> puts line
>> end
DK> Подождите, разве это решает поставленную задачу?
DK> Повторяю поставленную задачу. Во входном файле записано два числа. Они
DK> могут быть записаны в одной строке или в разных строках, строк в файле
DK> может быть много, между числами может быть один пробел, два пробела и
DK> т.д. Самое главное, что в файле есть два числа и пробельные символы,
DK> между двумя числами не менее одного пробельного символа. Нужно эти два
DK> числа выделить.
DK> Пока я нашел приемлемыми только варианты от Дмитрия Масленникова.
Во первых, чтоб не было недоразумений, то что привел Миша -- это Ruby а не
Python. Ну, а во вторых, вот пример как можно посчитать сумму чисел
представленных в описанном вами формате:
sum = 0
while line = gets do
line.split.each {|x| sum += x.to_i}
end
puts sum
Или в более привычном виде для людей не знакомых с Ruby:
sum = 0
while line = gets do
for x in line.split do
sum += x.to_i
end
end
puts sum
На питоне это будет выглядеть примерно так же.
--
Mikolaj Golub
Подробная информация о списке рассылки Freeschool