с текущим кодом, что вы получите это общая сумма всех заданных чисел, чтобы получить сумму в каждой строке вам необходимо инициализировать счетчик во внешнем контуре, а затем распечатать его, и, как вы хотите чтобы распечатать все это в одной строке, есть несколько способов сделать это, например сохранить в списке или сообщить print, которые не печатают новую строку, которая делается путем добавления ,
в конце, например print x,
с учетом этого то необходимо внести необходимые изменения:
n = int(raw_input())
for i in range(n):
pairs = raw_input().split() #by default split use spaces
pair_sum = 0
for p in pairs:
pair_sum += int(p) # a += b is the same as a = a + b
print pair_sum,
print "" # to print a new line so any future print is not done in the same line as the previous one
Это была версия с печатью на строку, следующая версия, используя список
n = int(raw_input())
resul_per_line = []
for i in range(n):
pairs = raw_input().split() #by default split use spaces
pair_sum = 0
for p in pairs:
pair_sum += int(p) # a += b is the same as a = a + b
resul_per_line.append(str(pair_sum)) #conver each number to a string to use with join bellow
print " ".join(resul_per_line)
с любым из вышеперечисленных пусть говорит, например, о том, что входные данные
3
1 2
40 50
600 700
тогда результат будет
3 90 1300
некоторые части приведенного выше кода может упростить с помощью built in таких функций, как map
и sum
, например часть
pair_sum = 0
for p in pairs:
pair_sum += int(p)
может стать
pair_sum = sum(map(int,pairs))
Если вы хотите напечатать частичные суммы, переместить и 'сумму = 0 'и' print' внутри внешнего контура. –
Код испорчен. Почему две петли имеют одинаковое имя iternator (i). Попробуйте изменить итератор во втором цикле от i до j. –
@SuryaTejaKarra Это не проблема. 'i' не используется во внешнем цикле, поэтому его переопределение во внутреннем не имеет значения (но это, безусловно, плохая практика). –