2014-11-03 3 views
-1

Я пробовал здесь несколько разных вещей, и я просто потерялся. Любая помощь будет оценена, вот мой код.Как отображать числа, большие, чем среднее в списке?

numL = []; 
for count in range (6): 
    num = input("Enter Numbers "); 
    if int(num) <= -999: 
     print("Sentinel value was entered") 
print(int(num) > sum(int(num))/ float(len(int(num)))) 

ответ

0

В питоне 3.4 вы можете использовать statistics.mean и список Комп:

from statistics import mean 

l = [1,2,3,4,5,6,7,8,9,10] 
print([x for x in l if x > mean(l)]) 
[6, 7, 8, 9, 10] 

Не уверен, что ваш, если заявление делает, но вы можете просто создать список, если Nums когда вы получаете вход:

nums = [int(input("Enter Numbers ")) for _ in range(6)] 
print([x for x in nums if x > mean(nums)]) 
+0

Я использую 3.4, но я попытался реализовать это в своем коде, и я получаю не могу преобразовать тип 'str' в числитель/знаменатель, поэтому я попытался преобразовать его в int, но не повезло. – underspych

+0

@underspych, попробуйте код, который я только что добавил, я не совсем уверен, что вы, если будете делать, или более поздний код, поскольку у вас есть ints not list, так что len() и т. Д. Не имеет смысла –

+0

Большое спасибо, что казалось для работы :) – underspych

0

Вы можете использовать список понимание легко выполнить это:

[a for a in your_list if a > sum(your_list)/len(your_list)] 

Если вы не знакомы с списковых, это в основном говорит:

для каждого элемента a в your_list, добавьте a в новый список, если он больше суммы списка, деленного на его длину (то есть его среднее значение). Верните новый список.

Например, для списка [1, 2, 3, 4, 5, 6, 7, 8, 9], это возвращает [6, 7, 8, 9].