


Программисты, спасайте!!!! Подскажите, пожалуйста, где я допустила ошибку в коде на питоне и подправьте мой код((
Условие:
Напишите функцию g_avg_list(a) (greater than average), которая возвращает список, состоящий из элементов, которые больше среднего значения списка.
Основная часть программы должна выглядеть так:
a = input_list()
print(g_avg_list(a))
Если результат работы функции не определен, функция должна выдать None.
Sample Input:
4
1
2
3
4
Sample Output:
[3, 4]
Мой код:
def input_list():
sp = []
n = int(input())
for i in range(n):
a = int(input())
sp.append(a)
return sp
def average_list(b):
if len(b) < 1: #если количество элементов в списке меньше 1, то не получится посчитать среднее арифм
return 0
else:
summ = 0
count = 0
for i in range(len(b)):
summ += b[i]
count += 1
return summ / count
def g_avg_list(b):
q = []
for i in range(len(b)):
if b[i] > v and v != 0:
q.append(b[i])
return q
elif v == 0:
return None
b = input_list()
v = average_list(b)
print(g_avg_list(b))
У меня в конечном итоге то пустой список, то только одно число вместо двух. Я все играюсь со значением v, но чет не помогает. Пожалуйста, спасайте меня, доработайте код((
def g_avg_list(a):
a_list = set([i for i in a if i > (sum(a) / len(a))])
return a_list if a_list else None
a = list(map(int, input().split()))
print(g_avg_list(a))
def input_list():
sp = []
n = int(input("Введите кол-во чисел в списке: "))
for i in range(n):
a = int(input(f'Введите {i} элемент списка'))
sp.append(a)
return sp
def average_list(b):
if len(b) < 1: #если количество элементов в списке меньше 1, то не получится посчитать среднее арифм
return 0
else:
summ = 0
count = 0
for i in range(len(b)):
summ += b[i]
count += 1
return summ / count
def g_avg_list(b):
q = []
for i in range(len(b)):
if b[i] > v and v != 0:
q.append(b[i])
elif v == 0:
return None
return q
b = input_list()
print(b)
v = average_list(b)
print(f'Среднее арифметическое : {v}')
print(g_avg_list(b))
было больно