+ 2

Помогите пожалуйста решить

Вы анализируете цены на жилье. Данный код объявляет список с ценами на дома в округе. Вам нужно рассчитать и вывести количество домов, у которых цена выше средней. Для расчета средней цены на жилье, вам нужно разделить сумму всех цен на количество домов.

21st Dec 2021, 12:39 PM
Dmitriy
41 ответ
+ 7
Это мой код
21st Dec 2021, 12:42 PM
Dmitriy
+ 3
Вы выводите цены, а нужно посчитать количество домов которые больше средней стоимости.
21st Dec 2021, 12:56 PM
Solo
Solo - avatar
+ 3
Здесь множество решений и какой способ вам выбрать вы должны сами определить. Если я дам прямой ответ, то навяжу вам свою логику, лишив вас проявить индивидуальность мышления. x = (sum(prices)/ len(prices)) for n in prices: if n > x: ... print(count)
21st Dec 2021, 2:17 PM
Solo
Solo - avatar
+ 2
в условии вместо печати напишите счётчик и измените условие на “>“
21st Dec 2021, 1:11 PM
Solo
Solo - avatar
+ 2
Ошибку выдает
21st Dec 2021, 2:40 PM
Dmitriy
+ 2
Ну сейчас то вы уже решите ☺️ Зато теперь вы знаете что в Python можно называть переменную именем встроенного метода count() и не будет никакого конфликта имён. И вы научились использовать метод count() для подсчёта нужного значения в списке, это вам в дальнейшем пригодится.
21st Dec 2021, 3:46 PM
Solo
Solo - avatar
+ 2
Бывает ☺️
21st Dec 2021, 4:35 PM
Solo
Solo - avatar
+ 2
Пробовал ввести счетчик Y=0 Y +=1
21st Dec 2021, 6:29 PM
Dmitriy
+ 2
Good luck!!! print(len([i for i in prices if i > sum(prices) / len(prices)]))
23rd Dec 2021, 12:32 PM
CodeStory
CodeStory - avatar
+ 1
prices = [125000, 78000, 110000, 65000, 300000, 250000, 210000, 150000, 165000, 140000, 125000, 85000, 90000, 128000, 230000, 225000, 100000, 300000] #ваш код x = (sum(prices)/ len(prices)) for n in prices: if n >= x: print(n)
21st Dec 2021, 12:42 PM
Dmitriy
+ 1
Я понимаю , подскажите как
21st Dec 2021, 1:04 PM
Dmitriy
+ 1
Если пишу print(len(prices) ) считет список без учета условия
21st Dec 2021, 1:06 PM
Dmitriy
+ 1
Не могу сообразить
21st Dec 2021, 2:13 PM
Dmitriy
+ 1
prices = [125000, 78000, 110000, 65000, 300000, 250000, 210000, 150000, 165000, 140000, 125000, 85000, 90000, 128000, 230000, 225000, 100000, 300000] #ваш код у = 0 x = (sum(prices)/ len(prices)) for n in prices: if n > x: count = prices.count(n) print(count)
21st Dec 2021, 2:39 PM
Dmitriy
+ 1
Dmitriy, уже что-то ☺️ Ваш код сейчас находит ближайшую цену большую средней, "это 300000", и считает сколько раз эта цена повторяется в списке.
21st Dec 2021, 3:14 PM
Solo
Solo - avatar
+ 1
Стараюсь 😂 но пока не финиш
21st Dec 2021, 3:15 PM
Dmitriy
+ 1
Ну так показывайте ваше новое творение ☺️
21st Dec 2021, 6:25 PM
Solo
Solo - avatar
+ 1
Ну так это самое простое решение проблемы. И в чём загвоздка?
21st Dec 2021, 6:31 PM
Solo
Solo - avatar
+ 1
Я полагаю что вы написали Y=0 внутри цикла 🤣
21st Dec 2021, 6:39 PM
Solo
Solo - avatar
+ 1
Ну тогда не знаю, я не телепат 😄
21st Dec 2021, 6:44 PM
Solo
Solo - avatar