Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 9, 2012 14:58:34

seeker142
Зарегистрирован: 2012-12-09
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Рекурсивный подсчет среднего арифметического

Прошу у вас помощи. Нужно реализовать следующую программу рекурсивно:

mass=[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12]
s=0
i=0
z=len(mass)
while i < z:
	s=s+mass[i]
	i+=1
print("Среднее арифметическое первых отрицательных чисел: ")
print("S = %f" % (s/z))
input("")
Я сделал так, но здесь функция работает с целыми числами, а надо с элементами массива:
# -*- coding: utf-8 -*-
n = int(input('Введите n:'))
def sred(n):
	if n==1:
		return -1
	else:
		return sred(n-1)-n
print(sred(n)/n)
input('')

Отредактировано seeker142 (Дек. 9, 2012 14:59:26)

Офлайн

#2 Дек. 9, 2012 17:24:46

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Рекурсивный подсчет среднего арифметического

def average(lst, n=0, s=0):
    n += 1.0
    s += lst.pop()
    if not lst:
        return s / n
    return average(lst, n, s)
print average([1, 2, 4, 6])

Отредактировано dimy44 (Дек. 9, 2012 17:26:18)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version