Задать вопрос
@Hey2204

Как верно написать код?

Прошу помощи в данном задании:

Есть списки средних дневных температур в Москве за май 2017 и 2018 годов. Создайте функцию comfort_count(temperatures) для подсчёта в переданном списке комфортных дней — дней с температурой воздуха от 22 до 26 градусов включительно.

Функция в результате работы должна вывести на экран строку 'Количество комфортных дней в этом месяце: N', где N — результат подсчёта в цикле с условием. Сначала посчитайте приятные дни в мае 2017-го года, а потом — в мае 2018-го.

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):
    f = 0
    for temp in temperatures:
        if temperatures >= 22 and temperatures <= 26:
             f = f + 1
             print("Количество комфортных дней в этом месяце " + str(temp))


comfort_count(may_2017)
comfort_count(may_2018)
  • Вопрос задан
  • 4921 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 6
longclaps
@longclaps
def comfort_count(temperatures):
    print('Количество комфортных дней в этом месяце:',
          sum(21 < t < 27 for t in temperatures))
Ответ написан
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
def comfort_count(temperatures):
    f = 0
    for temp in temperatures:
        if temp >= 22 and temp <= 26:
             f = f + 1
    print("Количество комфортных дней в этом месяце " + str(f))
Ответ написан
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
print('Количество комфортных дней: ', len(list(filter(lambda x: x>=22 and x<=26, may_2018))))

Количество комфортных дней: 13
print('Количество комфортных дней: ', len(list(filter(lambda x: x>=22 and x<=26, may_2017))))

Количество комфортных дней: 5
Ответ написан
Комментировать
@3BoHu103
def comfort_count(temperatures):
    x = 0
    for temp in temperatures:
        if temp >= 22 and temp <= 26:
            x = x + 1
    print('Количество комфортных дней в этом месяце:', x)

Обратите внимание на то, что функция 'print()' имеет отступ в 4 пробела от блока объявления функции 'comfort_count'.
Ответ написан
Комментировать
@o5a
Если цель задания сделать через циклы, то тут примеры уже привели. А если просто решить задачу покороче, то можно записать так (без sum в этом варианте):

def comfort_count(temperatures):
    return len([t for t in temperatures if 22 <= t <= 26])
Ответ написан
verbalistus
@verbalistus
Получилось так:

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):
    comfort = 0
    for i in temperatures:
        if 22 <= i <= 26:
            comfort +=1
    print('Количество комфортных дней в этом месяце:',comfort)
# дальше код не меняйте
comfort_count(may_2017)  # узнаем, что было в мае 2017 г.
comfort_count(may_2018)  # узнаем, что было в мае 2018 г.


Результат

Количество комфортных дней в этом месяце: 5
Количество комфортных дней в этом месяце: 13
Ответ написан
Ваш ответ на вопрос

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

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