Я работаю над финансовым калькулятором. В настоящее время у меня есть так, чтобы каждый раз, когда код циклически добавлялся к списку результатов. Я намерен, чтобы эти результаты были добавлены в новый список для введенного количества циклов.
функции модификации обеспечат, чтобы первый список имел разные результаты в каждом цикле, так как он рандомизирует инфляцию и процентные ставки.
Например, входное значение sims равно 10, поэтому оно будет повторяться 10 раз. Каждый раз, когда он повторяется, он добавляет результаты списка в симуляции списка, а затем сбрасывает результаты списка. Это приведет к 10 различным спискам списков
В настоящее время я получаю нужные мне выходные данные, но во второй список добавляется только первый цикл, например, он просто повторяет первый цикл 10 раз вместо сброса и случайного выбора каждый раз.
def modify_rate(interest_rate, interest_change):
return interest_rate + interest_change * (1 - random.random() * 2)
def modify_rate(inflation_rate, inflation_change):
return inflation_rate + inflation_change * (1 - random.random() * 2)
def run_simulation():
years, annual_spend, savings_balance, inflation_rate, interest_rate, interest_change, inflation_change, sims = inputs()
simulations = []
i = 0
for x in range(0, sims):
result = []
while i < years:
interest_rate = modify_rate(interest_rate, interest_change)
inflation_rate = modify_rate(inflation_rate, inflation_change)
i = i + 1
totalcost = annual_spend * (1 + inflation_rate) ** 1
annual_spend = totalcost
totalsave = savings_balance - annual_spend
savings_balance = totalsave
x = savings_balance * (1 + interest_rate) ** 1
savings_balance = round(x, 2)
result.append(savings_balance)
if i >=years:
break
elif savings_balance < 0:
break
simulations.append(result)
print(simulations)
Я создал мини-пример, в котором вычисление будет добавлено х раз, а затем результаты добавлены в список, который затем будет добавлен в другой список х раз
x = int(input("enter"))
y = int(input("enter"))
k = int(input("enter"))
a = []
i = 0
h= []
for x in range(0, k):
while i < y:
i = i + 1
z = x + 10 + i
a.append(z)
if i >= y:
break
h.append(a)
print(h)
Любое руководство будет оценено:)