Условия задачи:
Данные о населении. Среди исходного кода главы 7 вы найдете файл USPopulation.txt. В нем хранятся данные о среднегодовой численности населения США в тысячах с 1950 по 1990 год. Первая строка в файле содержит численность населения в 1950 году, вторая
строка - численность населения в 1951 году и т. д.
Напишите программу, которая считывает содержимое файла в список. Программа должна показать приведенные ниже данные:
• среднегодовое изменение численности населения в течение указанного периода времени;
• год с наибольшим увеличением численности населения в течение указанного периода времени;
• год с наименьшим увеличением численности населения в течение указанного периода времени.
Решение задачи:
#для решения этой задачи нужно определить разницу между текущим
#годом и будущим насколько увеличилось население. Для этого создаем
#список на основе файла с популяций. После этого перебираем список и
#определяем разницу между текущим годом и следующим и делаем список
#изменений. Он будет меньше на 1 чем список популяции. После этого
#определяем средне значение. для определния года к стартовому году
#добавляем индекс полученный от нужного значения не забываем добавлять
#1 так как какие были изменения в 1950 нам не известно
def main():
START = 1950
FINISH = 1990
def get_population():
list_population = []
with open('USPopulation.txt', 'r') as in_file:
for i in in_file:
list_population.append(int(i))
list_change_population = []
for i in range(FINISH - START-1):
change = list_population[i+1] - list_population[i]
list_change_population.append(change)
return list_change_population
list_change_population = get_population()
average = sum(list_change_population) / len(list_change_population)
year_max = list_change_population.index(max(list_change_population)) + START + 1
year_min = list_change_population.index(min(list_change_population)) + START + 1
print(f'Среднегодовое изменение численности {average},\n'
f'год с наибольшим увеличением численности {year_max},\n'
f'год с наименьшим увеличением численности {year_min}')
main()