Вычислите программу на Python, чтобы узнать, сколько лет CPI будет, по крайней мере, удвоен с уровня июля 2014 года - PullRequest
0 голосов
/ 05 октября 2019

Индекс потребительских цен (ИПЦ) указывает на среднюю цену фиксированной корзины товаров и услуг. Обычно он используется как показатель инфляции и часто используется для корректировки пенсий. Индекс потребительских цен составил 9,9 в июле 1913 года, равный 100 в июле 1983 года и 238,25 в июле 2014 года. Это означает, что 9,90 доллара США в июле 1913 года имели такую ​​же покупательную способность, что и 100,00 доллара США в июле 1983 года, и такую ​​же покупательную способность, что и 238,25 доллара США в июле 2014 года. В 2009 году индекс потребительских цен упал впервые с 1955 года. Однако в течение большей части предшествующих 15 лет он рос в среднем на 2,5% в год. Предполагая, что в будущем ИПЦ будет расти на 2,5% в год, через сколько лет ИПЦ по крайней мере удвоится по сравнению с уровнем июля 2014 года? Примечание. Каждый год ИПЦ будет в 1,025 раза превышать ИПЦ за предыдущий год. См. Пример выходных данных ниже.

Моя текущая кодировка:

c = 1
year = 0
inc = 1.025
while (c >= 1):
    c *= (inc ** year) == 238.25 * 2
    year += 1
print(year)

Я могу получить результат только одного года из моей текущей кодировки, и мне интересно, если яустановить что-то не так в моем текущем коде, особенно для цикла while. Мое условие цикла может быть неправильным, но я не знаю, как его исправить.

Ожидаемый результат программы: Потребительские цены удвоятся через 29 лет.

Ответы [ 2 ]

0 голосов
/ 05 октября 2019

Цикл while, который делает это:

cpi = 1
i = 0
while cpi < 2:
    i += 1
    cpi = 1.025 ** i

print(i) # 29

Или цикл for (который принимает максимум 1000 лет, просто как заполнитель):

for i in range(1000):
    if 1.025 ** i > 2:
        print(i)
        break

Оба выводят на печатьправильный ответ = 29

0 голосов
/ 05 октября 2019

Ваша текущая цель * 2, ваш ИПЦ растет на 2,5% каждый год. Так что продолжайте увеличивать свой ИПЦ, пока не достигнете цели.

year = 0
inc = 1.025
current = 238.25
target = current * 2
while current <= target:
    current *= inc
    year += 1
print(year)

Выход:

29
...