#python
#python
Вопрос:
Я не знаю, имеет ли смысл, пожалуйста, простите за то, как построен мой английский, но у меня есть этот код.
initial_int = float(input("Enter your initial investment: "))
interest_rate = [0.02, 0.03, 0.015, 0.06]
for a in interest_rate:
#formula
print( a * initial_int initial_int)
Моя цель — ввести число, а затем я попытаюсь умножить его внутри каждого элемента списка, затем я хочу повторно использовать предыдущее число, чтобы снова умножить его на следующее число внутри списка. Вот мой ожидаемый результат.
Входное число: 1000
#and then i want the 1000 to be multiply by each element inside the list interest_rate = [0.02, 0.03, 0.015, 0.06]
Вывод:
1020
1050
1065
1125
Ответ №1:
Вам просто нужно умножить текущую сумму на a
и добавить ее к самой текущей сумме. Самый простой способ сделать это:
for a in interest_rate:
initial_int = a*initial_int
print(initial_int)
Ответ №2:
Достаточно одного for
цикла, но вы также можете использовать accumulate
функцию из itertools
module, поскольку в python версии v3.8 inital
в качестве необязательного аргумента используется функция accumulate support .
import itertools
initial_int = float(input("Enter your initial investment: "))
interest_rate = [0.02, 0.03, 0.015, 0.06]
print(list(itertools.accumulate(interest_rate, lambda ini, x: ini x*ini, initial = initial_int)))
вывод: [1000, 1020.0, 1050.6, 1066.359, 1130.34054]
для получения более подробной информации ознакомьтесь с документацией .