2013-11-15 4 views
-1

У меня назначено завтра. Мне удалось решить какое-то решение, можете ли вы увидеть вопрос и мой ответ и помочь мне исправить мою программу?Нужна помощь в завершении и исправлении моей программы python?

Напишите две функции Python. Во-первых, напишите среднее значение (x), которое, учитывая список реальных значений x, вычисляет и возвращает среднее значение для списка, рассчитанное следующим образом: сумма значений в списке, деленная на количество значений. Выходной сигнал функции должен быть числом с плавающей запятой.

Во-вторых, напишите еще одну функцию стандарта PythonDev (x), чтобы вычислить стандартное отклонение заданного списка реальных значений x. Эта функция вычисляется следующим образом: добавьте квадратные различия между средним и каждым из элементов в списке x, затем разделите на количество элементов в списке и, наконец, возьмите квадратный корень. Вывод должен быть числом с плавающей запятой. (Подсказка: вызов функции СРЗНАЧ() из функции standardDev().).

x = int(input("Number of numbers : ")) 

def average(): 

    list = [] 

    sum = 0 
    t = 0 
    y=0 
    for i in range (x): 
     list.append (int (input("Enter number: ")))  
    print (list) 

    # this part i dunno why i can't get the sum to add the numbers from list 
def sum(): 
    t = [] 
    for i in range (x): 
     list.append (t) 
     sum = sum + t 
     print (sum) 

avg = average() 
sm = sum() 
+1

Исправьте углубление. –

+4

Плохая идея назвать список переменных и их сумму, так как есть встроенные функции с тем же именем. –

+1

Я не уверен, какие назначения обычно есть, но из текста и моего понимания хорошего кода функции НЕ должны читаться в данных и обрабатываться только. Чтение должно быть внешним в другой функции. – dornhege

ответ

1

Некоторые намеки

Используйте отдельную функцию для чтения списка и сделать другие функции взять список в качестве аргумента:

lst = read_list() 

print(sum(lst)) 
print(average(lst)) 
print(standard_dev(lst)) 

Используйте встроенные модули sum и len вычислить сумму и количество элементов в списке. Если вы не можете использовать sum, это выглядит следующим образом:

result = 0 
for value in lst: 
    result += value 

В read_list использование float(input(...)), не int, так как назначение говорит «реальные ценности».

Чтобы получить квадратный корень, вам необходимо импортировать модуль math.

Смежные вопросы