[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