Уведомления

Группа в Telegram: @pythonsu

#1 Июль 15, 2019 17:57:04

avelec
Зарегистрирован: 2019-07-07
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Вычисления с результатом функции

Здравствуйте, подскажите начинающему кодеру

Есть список переменных, каждая переменная - это число
Есть функция, которая поочередно проверяет две переменных и если первая больше второй - то прибавляет в число-аккумулятор i +1

 year2012 = 99
year2013 = 100
year2014 = 200
year2015 = 300
year2016 = 400
year2017 = 500
year2018 = 600
year2019 = 700
# сравниваем рост к предыдущему году. Если растёт, то прибавляем +1
def grow():
	i = 0
	if year2019 > year2018:
		i += 1
	else:
		pass
	if year2018 > year2017:
		i += 1
	else:
		pass
	if year2017 > year2016:
		i += 1
	else:
		pass
	if year2016 > year2015:
		i += 1
	else:
		pass
	if year2015 > year2014:
		i += 1
	else:
		pass
	if year2014 > year2013:
		i += 1
	else:
		pass
	if year2013 > year2012:
		i += 1
	else:
		pass

Мне нужно результат функции (в данном случае получается 7, т.к. каждый старший год в примере больше младшего) разделить на число 7 при помощи:
asd = результат / 7

Не понимаю как это сделать

Офлайн

#2 Июль 15, 2019 22:23:13

Egorro13
Зарегистрирован: 2019-04-16
Сообщения: 105
Репутация: +  5  -
Профиль  

Вычисления с результатом функции

avelec
Есть список переменных, каждая переменная - это число
Список - это типа такого:
 years = [99, 100, 200, 300, 400, 500, 600, 700]
Тогда и дублировать одно и то же не надо по 100 раз:
 def grow(lst):
    result = len([lst[i] for i in range(1, len(lst)) if lst[i - 1] <= lst[i]])
    return result
Или проще:
 def grow(lst):
    result = 0
    for i in range(1, len(lst)):
        if lst[i-1] <= lst[i]:
            result += 1
    return result
В обоих случаях достаточно просто вызвать функцию и передать в нее этот список (список, а не кучу отдельных переменных):
 print(grow(years))

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version