Найти - Пользователи
Полная версия: Вычисления с результатом функции
Начало » Python для новичков » Вычисления с результатом функции
1
avelec
Здравствуйте, подскажите начинающему кодеру

Есть список переменных, каждая переменная - это число
Есть функция, которая поочередно проверяет две переменных и если первая больше второй - то прибавляет в число-аккумулятор 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

Не понимаю как это сделать
Egorro13
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))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB