Задать вопрос
@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.
Как правильно посчитать?
  • Вопрос задан
  • 2118 просмотров
Подписаться Простой 2 комментария
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Stikkibr
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):
count = 0
for temp in temperatures:
if 21 < temp <27:
count += 1
print('Количество комфортных дней в этом месяце:', count)
# дальше код не меняйте
comfort_count(may_2017) # узнаем, что было в мае 2017 г.
comfort_count(may_2018) # узнаем, что было в мае 2018 г
Ответ написан
Комментировать
@ShocoShow
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):
count = 0
for temp in temperatures:
if temp >= 22 and temp <= 26:
count += 1
print('Количество комфортных дней в этом месяце:', count)

# дальше код не меняйте
comfort_count(may_2017) # узнаем, что было в мае 2017 г.
comfort_count(may_2018) # узнаем, что было в мае 2018 г.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы