A = [75, 31, 80, 40, 48, 40] # любой список
# Готовые решения для этих задач:
print(sum(A)) # Сумма
# Произведение
A = [35, 2, 82, 10, 44, 42]
import functools
import operator # содержит все возможные операции
print(functools.reduce( # reduce - применить операцию ко всем элементам списка поочерёдно
operator.mul, # операция умножения
A))
# Через цикл
# Сумма:
S = 0
for i in A: S += i # Сложить все элементы A, результатом будет переменная S
print(S)
# Произведение:
M = 1 # Если будет 0, то всё выражение тоже будет 0
for i in A: M *= i
# Или
if 0 in A: M = 0
else:
for i in A: M *= i
print(M)
A = [89, 87, 4, 6, 18, 77, 61, 6, 83, 23, 31, 22, 48, 23, 52] # любой список
# Сумма:
S = 0
for i in A: S += i # Сложить все элементы A, результатом будет переменная S
print(S)
# Произведение:
M = 1 # Если будет 0, то всё выражение тоже будет 0
for i in A: M *= i
# Или
if 0 in A: M = 0
else:
for i in A: M *= i
print(M)
# Готовые решения для этих задач (Встроены в Python, использовать их будет разумно.):
# Сумма:
print(sum(A))
# Произведение
import functools
import operator # содержит все возможные операции
print(functools.reduce( # reduce - применить операцию ко всем элементам списка поочерёдно
operator.mul, # операция умножения
A)) # Использовать вариант выше (с проверкой на наличие 0-я, будет предпочтительнее).
--- Python 3.8.3 ---
import typing
from typing import List
class Item:
def __init__(self, name: str, cost: int):
self._n = name
self._c = cost
@property
def Name(self):
return self._n
@property
def Cost(self):
return self._c
def Report(data: List[Item]):
Rep = 'Bought:\n'
for item in data:
Rep += f'{item.Name} : {item.Cost} $\n'
Rep += f'Total cost: {sum([item.Cost for item in data])} $\n'
return Rep
def main():
Buy = []
CurrentCommand = 'Y'
while CurrentCommand == 'Y':
print(' new buy ')
n = input('Name: \n')
c = int(input('Cost: \n'))
Buy.append(Item(n,c))
print(Report(Buy))
CurrentCommand = input('Continue? Y/N\n')
if __name__ == "__main__":
main()
Объяснение:
Все надписи выводятся на английском потому, что мне лень менять раскладку) Суть осталась та же
Некий "товар" описан классом для более удобного доступа к его атрибутам при формировании отчёта.