Ответ:
import csv
# открываем csv файл
with open('file.csv') as File:
data = []
reader = csv.reader(File, delimiter=';')
for row in reader:
# считываем строки и добавляем их в массив data
# (преобразуем кол-во человек в численный формат)
data.append([row[0], int(row[1])])
print("Input data: ", data)
averageChange = 0 # Среднегодовое увеличение
averageSum = data[1][1] - data[0][1] # Переменная для суммирования значений увеличения
maxIncreaseYear = data[1][0] # Год с максимальным увеличением по отнош. к пред-му
maxIncrease = data[1][1] - data[0][1] # Максимальное увеличение между годами
minIncreaseYear = data[1][0] # Год с минимальным увеличением по отнош. к пред-му
minIncrease = data[1][1] - data[0][1] # Минимальное увеличение между годами
# Начинаем с третьего года, т.к. уже посчитали значения между для 2-ого и 1-ого
for i in range(2, len(data)):
# суммируем значение увеличения численности
averageSum += (data[i][1] - data[i - 1][1])
# Ищем макс. увеличение
if (data[i][1] - data[i - 1][1]) > maxIncrease:
maxIncrease = data[i][1] - data[i - 1][1]
maxIncreaseYear = data[i][0]
# Ищем мин. увеличение
if (data[i][1] - data[i - 1][1]) < minIncrease:
minIncrease = data[i][1] - data[i - 1][1]
minIncreaseYear = data[i][0]
# Делим сумму на кол-во периодов, чтоб получить среднее значение
averageChange = averageSum / (len(data) - 1)
print("Среднегодовое изменение: ", averageChange)
print("Год с наиб. увеличением: ", maxIncreaseYear, ", изменение: ", maxIncrease)
print("Год с наим. увеличением: ", minIncreaseYear, ", изменение: ", minIncrease)
Объяснение:
Всё объяснил в коде.
CSV файл для тестов у меня выглядел примерно сл. образом:
2015;1000
2016;5000
2017;7000
2018;7500
2019;9000
2020;11450
2021;13300
2022;15150
2023;17000
2024;25000
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
Ответ:
import csv
# открываем csv файл
with open('file.csv') as File:
data = []
reader = csv.reader(File, delimiter=';')
for row in reader:
# считываем строки и добавляем их в массив data
# (преобразуем кол-во человек в численный формат)
data.append([row[0], int(row[1])])
print("Input data: ", data)
averageChange = 0 # Среднегодовое увеличение
averageSum = data[1][1] - data[0][1] # Переменная для суммирования значений увеличения
maxIncreaseYear = data[1][0] # Год с максимальным увеличением по отнош. к пред-му
maxIncrease = data[1][1] - data[0][1] # Максимальное увеличение между годами
minIncreaseYear = data[1][0] # Год с минимальным увеличением по отнош. к пред-му
minIncrease = data[1][1] - data[0][1] # Минимальное увеличение между годами
# Начинаем с третьего года, т.к. уже посчитали значения между для 2-ого и 1-ого
for i in range(2, len(data)):
# суммируем значение увеличения численности
averageSum += (data[i][1] - data[i - 1][1])
# Ищем макс. увеличение
if (data[i][1] - data[i - 1][1]) > maxIncrease:
maxIncrease = data[i][1] - data[i - 1][1]
maxIncreaseYear = data[i][0]
# Ищем мин. увеличение
if (data[i][1] - data[i - 1][1]) < minIncrease:
minIncrease = data[i][1] - data[i - 1][1]
minIncreaseYear = data[i][0]
# Делим сумму на кол-во периодов, чтоб получить среднее значение
averageChange = averageSum / (len(data) - 1)
print("Среднегодовое изменение: ", averageChange)
print("Год с наиб. увеличением: ", maxIncreaseYear, ", изменение: ", maxIncrease)
print("Год с наим. увеличением: ", minIncreaseYear, ", изменение: ", minIncrease)
Объяснение:
Всё объяснил в коде.
CSV файл для тестов у меня выглядел примерно сл. образом:
2015;1000
2016;5000
2017;7000
2018;7500
2019;9000
2020;11450
2021;13300
2022;15150
2023;17000
2024;25000