Python

Напиши программу по питону

Напиши программу, которая принимает натуральное число n, а затем n целых чисел. Выведи список произведений соседних чисел. Используй метод append().
Смотрите - Вы вводите следующие данные:
4
1
2
3
4
Что Вам должно выдать? Список длины n-1 произведений соседних чисел, полученный при помощи append, то есть вот что:
[2, 6, 12] или то же самое попроще 2 6 12
Собственно, программе нужен один единственный список вывода, а список вводимых чисел здесь как телеге пятое колесо. Код
 n, x, A = int(input()), int(input()), [] 
for i in range(n - 1): y = int(input()); A.append(x * y); x = y
print(*A); input()
успешно решает поставленную задачу, а всё остальное - демагогия и пустозвонство!
Чеширский Кот
Чеширский Кот
66 572
Лучший ответ
А если без метода append? На кой он тут сдался?
Возьми itertools.pairwise, пробегись по списку и посчитай произведения пар.
Вот так:
 from itertools import pairwise
n = int(input())
nums = (int(input()) for _ in range(n))
print(*(a * b for a, b in pairwise(nums)), sep = '\n')
Тут и списки-то не нужны, хватит итераторов. Поэтому списков тут нет.
Пример. На вход:
 4
5
6
7
8
На выходе:
 30
42
56
Роман Юдин
Роман Юдин
87 571
+= аналогично append. И вообще произведение списков находят через prod, но в моей версии Питона в библиотке math этого метода нет
 m = [int(input()) for i in range(int(input()))] 
res = []
for i in range(len(m) - 1):
res += [[m[i],m[i + 1]]]
print(list(map(lambda x: x[0] * x[1],res)))
Игорь Журов
Игорь Журов
5 840
Роман Юдин Ему не надо произведение списка, а только попарные произведения соседних элементов. prod для этого не нужен.

+= - совершенно не то же самое, что append. "Под капотом" += вызывает list.extend, в поведении которого есть существенные отличия от list.append.

И вообще, умиляют эти детские попытки копировать list(map(...)) без малейшего понимания, что это означает. Это видно уже по тому, что когда человек пытается писать свой код, тут же скатывается в банальную императивщину и изобретает велосипеды.