Это не работает, как ожидалось. Как я могу исправить этот код? - PullRequest
0 голосов
/ 03 ноября 2019

Я хочу, чтобы код увеличивал мой semi_annual_income каждые шесть месяцев, увеличивая semi_annual income каждые шесть месяцев на определенный процент. так что предполагалось, что в соответствии с моей математикой 1000(1.2)^i/6 это уравнение будет увеличивать мой доход на 0.2 каждые 6 месяцев, когда i делится на 6.

Я пытался использовать оба выражения, когдаиспользуйте выражение 1000(1.2)^i/6, это даст мне очень большое число. и выражение 1000(1 +0.2) дает мне точный ответ, который должен был дать 1000(1 + 0.2).

number_of_months = 0
total_cost = 100000
semi_annual_income = 1000
starting_salary = 10
semi_annual_rise = 0.2
while semi_annual_income < total_cost:
    for i in range(100):
        if float(i)%6 == 0:
            power_number = float(i)/6
            # i am using this to make it increase the semi_annual income just only every six months
            semi_annual_income = semi_annual_income *(float(1) + float(semi_annual_rise))
            print(power_number)
            print(semi_annual_income)
            #semi_annual_income = (semi_annual_income *(float(1) +  float(semi_annual_rise))** float(power_number))
            #The above written code is giving me a very huge number i  want it to give me the answer as 1000(1 + 0.2)^i/6
    break

Я получил ответ, который хотел получить из кода, но я не понимаю, почему он дает мнеответ без силы и тот, у кого сила, не дает мне ответа.

1 Ответ

0 голосов
/ 03 ноября 2019
number_of_months = 0
total_cost = 100000
semi_annual_income = 1000
starting_salary = 1000
semi_annual_rise = 0.2
number_of_months = 0
while semi_annual_income < total_cost:
    for i in range(1,100):
        if float(i)%6 == 0:
            power_number = float(i)/6# i am using this to make it increase the 
semi_annual income just only every six months
            number_of_months = number_of_months + 1
            semi_annual_income = starting_salary *(float(1) + 
float(semi_annual_rise))**(power_number)
            print(power_number)
            print(semi_annual_income)
            print(number_of_months)
# I think my mistake was the i used semi_annual-income instead of starting salary, this code works as i wanted it to be.
    break
...