Top.Mail.Ru
Ответы

Программирование на Python

На вход подается два списка целых чисел в виде строк. Каждая строка вводится отдельно, элементы разделены пробелами. Нужно вычислить сумму попарных произведений их элементов. Например, для списков [1, 2, 3], [4, 5, 6] программа должна вернуть результат вычисления 14 + 25 + 3*6, то есть 32

По дате
По рейтингу
Аватар пользователя
Новичок
1234567891011121314
 # Считываем два списка чисел из ввода 
list1 = input().split() 
list2 = input().split() 
 
# Преобразуем строки в списки целых чисел 
list1 = [int(x) for x in list1] 
list2 = [int(x) for x in list2] 
 
# Вычисляем сумму попарных произведений элементов списков 
result = sum([x*y for x, y in zip(list1, list2)]) 
 
# Выводим результат 
print(result) 
 
Аватар пользователя
Высший разум
12
 def f(s): print(s, end=''); return [int(i) for i in input().split()] 
A,B=f('A: '),f('B: '); print(sum([A[i]*B[i] for i in range(len(A))])) 
Аватар пользователя
Знаток

Можно решить задачу используя следующий код:

list1 = input().split()

list2 = input().split()

sum = 0

for i in range(len(list1)):

sum += int(list1[i]) * int(list2[i])

print(sum)

Пример ввода:

1 2 3

4 5 6

Пример вывода:

32

Здесь мы сначала считываем две строки ввода, представляющие два списка чисел, разделенные пробелами. Затем мы преобразуем каждый элемент списка из строкового представления в целое число, используя генератор списков. Далее мы используем функцию zip для попарного объединения элементов двух списков в кортежи, которые затем перемножаем и находим сумму с помощью функции sum. Наконец, мы выводим результат с помощью функции print.

Аватар пользователя
Знаток

list1_str = input()
list2_str = input()

list1 = list(map(int, list1_str.split()))
list2 = list(map(int, list2_str.split()))

sum_products = sum(a * b for a, b in zip(list1, list2))

print(sum_products)