@pasterh

Не могу решить задачу?

Надо посчитать количество дней с т температурой от 22 до 26 градусов включительно в каждом месяце отдельно.
may_2017 = [24, 26, 15, 10, 15, 19, 10, 1, 4, 7, 7, 7, 12, 14, 17, 8, 9, 19, 21, 22, 11, 15, 19, 23, 15, 21, 16, 13, 25, 17, 19]
may_2018 = [20, 27, 23, 18, 24, 16, 20, 24, 18, 15, 19, 25, 24, 26, 19, 24, 25, 21, 17, 11, 20, 21, 22, 23, 18, 20, 23, 18, 22, 23, 11]

def comfort_count(temperatures):
    for temp in temperatures:
        if temp >= 22 and temp <= 26:
              print (len(str(temp)))

comfort_count(may_2017)  # узнаем, что было в мае 2017 г.
comfort_count(may_2018)

Но я похоже что то делаю неправильно так как результом получаю не дни 13 и 5 а количество знаков 2.
Как правильно посчитать?
  • Вопрос задан
  • 148 просмотров
Решения вопроса 3
samodum
@samodum
Ну так всё правильно. Количество дней же ты НЕ СЧИТАЕШЬ.
Ты, похоже, вообще не понимаешь что этот код делает.

may_2017 = [24, 26, 15, 10, 15, 19, 10, 1, 4, 7, 7, 7, 12, 14, 17, 8, 9, 19, 21, 22, 11, 15, 19, 23, 15, 21, 16, 13, 25, 17, 19]
may_2018 = [20, 27, 23, 18, 24, 16, 20, 24, 18, 15, 19, 25, 24, 26, 19, 24, 25, 21, 17, 11, 20, 21, 22, 23, 18, 20, 23, 18, 22, 23, 11]

def comfort_count(temperatures):
    k = 0
    for temp in temperatures:
        if temp >= 22 and temp <= 26:
              k = k + 1
    print(k)

comfort_count(may_2017)  
comfort_count(may_2018)
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
in_data = {
    'may 2017': [24, 26, 15, 10, 15, 19, 10, 1, 4, 7, 7, 7, 12, 14, 17, 8, 9, 19, 21, 22, 11, 15, 19, 23, 15, 21, 16, 13, 25, 17, 19], 
    'may 2018': [20, 27, 23, 18, 24, 16, 20, 24, 18, 15, 19, 25, 24, 26, 19, 24, 25, 21, 17, 11, 20, 21, 22, 23, 18, 20, 23, 18, 22, 23, 11]
}

for im in in_data.keys():
    print(im, len(list(filter(lambda x: x>=22 and x <=26, in_data[im]))))


may 2017 5
may 2018 13
Ответ написан
@deliro
Агрессивное программирование
In [1]: comfort_count = lambda a: sum(22 <= t <= 26 for t in a)                                                         

In [2]: comfort_count([20, 27, 23, 18, 24, 16, 20, 24, 18, 15, 19, 25, 24, 26, 19, 24, 25, 21, 17, 11, 20, 21, 22, 23, 1
   ...: 8, 20, 23, 18, 22, 23, 11])                                                                                                               
Out[2]: 13
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 100 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.
22 июл. 2019, в 18:33
200 руб./за проект
22 июл. 2019, в 18:28
10000 руб./за проект