У вас есть данные о температуре воздуха в Москве за последние N дней. Выведите количество дней, в которые температура была минимальной.
Формат входных данных
Вводится одно целое число N – количество дней.
Далее в столбик вводятся N целых чисел – температура воздуха.
Формат выходных данных
Вывести одно целое число – ответ.
Входные данные
5
-10
-12
-6
-12
-5
Выходные данные
2
Системное администрирование
Помогите пожалуйста написать программу на языке python
Однопроходный алгоритм без императивных циклов:
reduce - это катаморф... в общем, эта функция свёртывает итератор, переданный во втором параметре, в единственный кортеж из двух элементов, используя переданную в первом параметре операцию. Примерно как функция min принимает на вход список и выдаёт одно число - минимум - только тут более общий случай. Первый элемент результирующего кортежа - минимум температуры, а второй - количество элементов с таким значением. Третий параметр reduce - начальное значение кортежа (1 млрд градусов и 0 элементов с таким значением).
Операция, переданная в reduce, рассматривает три случая:
1) Новый элемент меньше минимального. Минимальный элемент заменяется на текущий, а счётчик ставится в 1 (т.е. мы 1 раз видели этот минимум).
2) Новый элемент равен минимальному. Счётчик увеличивается на 1.
3) Новый элемент больше минимального. Счётчик не изменяется.
Сама минимальная температура после прохода итератора нам неинтересна, поэтому при присваивании вместо переменной используем подчерк (_), обозначающий, что значение можно отбросить.
from functools import reduce
n = int(input())
ts = (int(input()) for _ in range(n))
_, c = reduce(
lambda u, t: (t, 1) if t < u[0] else (u[0], u[1] + (t == u[0])),
ts,
(1000000000, 0))
print(c)
Более того, тут нет ни единого списка. Введи хоть миллион показаний температуры, они будут обрабатываться по одному за раз и сразу учитываться в агрегаторах, а не накапливаться в памяти, как старая обувь в чулане.reduce - это катаморф... в общем, эта функция свёртывает итератор, переданный во втором параметре, в единственный кортеж из двух элементов, используя переданную в первом параметре операцию. Примерно как функция min принимает на вход список и выдаёт одно число - минимум - только тут более общий случай. Первый элемент результирующего кортежа - минимум температуры, а второй - количество элементов с таким значением. Третий параметр reduce - начальное значение кортежа (1 млрд градусов и 0 элементов с таким значением).
Операция, переданная в reduce, рассматривает три случая:
1) Новый элемент меньше минимального. Минимальный элемент заменяется на текущий, а счётчик ставится в 1 (т.е. мы 1 раз видели этот минимум).
2) Новый элемент равен минимальному. Счётчик увеличивается на 1.
3) Новый элемент больше минимального. Счётчик не изменяется.
Сама минимальная температура после прохода итератора нам неинтересна, поэтому при присваивании вместо переменной используем подчерк (_), обозначающий, что значение можно отбросить.
n = int(input())
temps = [int(input()) for _ in range(n)]
min_temp = min(temps)
count = 0
for temp in temps:
if temp == min_temp:
count += 1
print(count)
n = int(input("Введите количество дней: "))
temp = list(map(int, input("Введите температуру воздуха за эти дни через пробел: ").split()))
min_temp = min(temp) # находим минимальную температуру
count_min_temp = temp.count(min_temp) # считаем количество дней с минимальной температурой
print("Количество дней с минимальной температурой:", count_min_temp)
В этой программе мы сначала считываем количество дней и температуру воздуха за каждый день. Затем мы находим минимальное значение температуры с помощью функции `min()`. Далее мы считаем количество дней, в которые температура была минимальной, с помощью метода списка `count()`. И, наконец, мы выводим результат на экран.
Вы можете использовать эту программу для решения задачи подсчета количества дней с минимальной температурой воздуха в Москве за последние N дней.
temp = list(map(int, input("Введите температуру воздуха за эти дни через пробел: ").split()))
min_temp = min(temp) # находим минимальную температуру
count_min_temp = temp.count(min_temp) # считаем количество дней с минимальной температурой
print("Количество дней с минимальной температурой:", count_min_temp)
В этой программе мы сначала считываем количество дней и температуру воздуха за каждый день. Затем мы находим минимальное значение температуры с помощью функции `min()`. Далее мы считаем количество дней, в которые температура была минимальной, с помощью метода списка `count()`. И, наконец, мы выводим результат на экран.
Вы можете использовать эту программу для решения задачи подсчета количества дней с минимальной температурой воздуха в Москве за последние N дней.
Похожие вопросы
- Написать программу на языке Python
- Люди!!! Помогите, пожалуйста, запустить программу 1С Предприятие.. На рабочем столе нажала ярлык 1С Далее что пошагово?
- Помогите, пожалуйста, программа Python
- Как написать программу на пайтоне чтобы она вычислила какие координаты принадлежат закрашенной области
- Помогите пожалуйста. Я не разбираюсь в компьютерах и все что с ним связанно.
- Всем привет!!! Вопрос относительно к программистам... Помогите пожалуйста в решении моего вопроса!!!
- Где находится Microsoft Office на windows 10? не могу найти Word, Excel, Power Point на виндовс 10, помогите пожалуйста
- Здравствуйте, помогите пожалуйста с тремя вопросами по программированию и операционным системам
- Помогите пожалуйста разобраться с заданием по excel . не пойму задание и " а" и "б"
- Помогите с задачей python