Лучшие помощники
- Megamozg 2180 б
- Matalya1 1800 б
- DevAdmin 1690 б
- arkasha_bortnikov 840 б
- Dwayne_Johnson 840 б
16 мая 2023 22:39
207
Напишите программу, которая в последовательности целых чисел определяет среднее арифметическое положительных и отрицательных чисел. Программа получает на вход целые числа в интервале от -50 до 50, среди которых есть отрицательные и положительные числа. Количество чисел вводится с клавиатуры не превышает 1000. Программа должна вывести одно число: среднее арифметическое положительных и отрицательных чисел с точностью до одного знака после запятой. Если либо положительных, либо отрицательных чисел в последовательности нет, то программа должна вывести одно слово NO.
1
ответ
Вот код на языке Python, который решает данную задачу:
```python
n = int(input()) # количество чисел
sum_pos = 0 # сумма положительных чисел
count_pos = 0 # количество положительных чисел
sum_neg = 0 # сумма отрицательных чисел
count_neg = 0 # количество отрицательных чисел
for i in range(n):
num = int(input())
if num > 0:
sum_pos += num
count_pos += 1
elif num < 0:
sum_neg += num
count_neg += 1
if count_pos == 0 and count_neg == 0:
print("NO")
else:
avg_pos = sum_pos / count_pos if count_pos > 0 else 0
avg_neg = sum_neg / count_neg if count_neg > 0 else 0
print("{:.1f}".format((avg_pos + avg_neg) / 2))
```
Сначала мы считываем количество чисел `n`. Затем мы инициализируем переменные `sum_pos`, `count_pos`, `sum_neg` и `count_neg` нулями. Эти переменные будут использоваться для подсчета суммы и количества положительных и отрицательных чисел.
Затем мы запускаем цикл `for`, который проходит по всем числам в последовательности. Если число положительное, мы добавляем его к сумме положительных чисел `sum_pos` и увеличиваем количество положительных чисел `count_pos` на единицу. Если число отрицательное, мы добавляем его к сумме отрицательных чисел `sum_neg` и увеличиваем количество отрицательных чисел `count_neg` на единицу.
После цикла мы проверяем, есть ли в последовательности положительные или отрицательные числа. Если оба количества равны нулю, мы выводим слово "NO". В противном случае мы вычисляем среднее арифметическое положительных чисел `avg_pos` и отрицательных чисел `avg_neg`, используя формулу `sum / count` (если `count` больше нуля) или нуль (если `count` равен нулю). Затем мы выводим среднее арифметическое положительных и отрицательных чисел, деленное на два, с точностью до одного знака после запятой, используя функцию `format`.
Например, если мы введем следующие данные:
```
5
-10
20
-30
40
50
```
то программа выведет:
```
10.0
```
```python
n = int(input()) # количество чисел
sum_pos = 0 # сумма положительных чисел
count_pos = 0 # количество положительных чисел
sum_neg = 0 # сумма отрицательных чисел
count_neg = 0 # количество отрицательных чисел
for i in range(n):
num = int(input())
if num > 0:
sum_pos += num
count_pos += 1
elif num < 0:
sum_neg += num
count_neg += 1
if count_pos == 0 and count_neg == 0:
print("NO")
else:
avg_pos = sum_pos / count_pos if count_pos > 0 else 0
avg_neg = sum_neg / count_neg if count_neg > 0 else 0
print("{:.1f}".format((avg_pos + avg_neg) / 2))
```
Сначала мы считываем количество чисел `n`. Затем мы инициализируем переменные `sum_pos`, `count_pos`, `sum_neg` и `count_neg` нулями. Эти переменные будут использоваться для подсчета суммы и количества положительных и отрицательных чисел.
Затем мы запускаем цикл `for`, который проходит по всем числам в последовательности. Если число положительное, мы добавляем его к сумме положительных чисел `sum_pos` и увеличиваем количество положительных чисел `count_pos` на единицу. Если число отрицательное, мы добавляем его к сумме отрицательных чисел `sum_neg` и увеличиваем количество отрицательных чисел `count_neg` на единицу.
После цикла мы проверяем, есть ли в последовательности положительные или отрицательные числа. Если оба количества равны нулю, мы выводим слово "NO". В противном случае мы вычисляем среднее арифметическое положительных чисел `avg_pos` и отрицательных чисел `avg_neg`, используя формулу `sum / count` (если `count` больше нуля) или нуль (если `count` равен нулю). Затем мы выводим среднее арифметическое положительных и отрицательных чисел, деленное на два, с точностью до одного знака после запятой, используя функцию `format`.
Например, если мы введем следующие данные:
```
5
-10
20
-30
40
50
```
то программа выведет:
```
10.0
```
0
·
Хороший ответ
16 мая 2023 22:42
Остались вопросы?
Еще вопросы по категории Информатика
какое высказывание является ложным? 1) Знаком V обозначается логическая операция ИЛИ ; 2) Логическую операцию ИЛИ иначе называют логическим сложением;...
fоr i in rаngе( d, 63, c): рrint ( i, end=" " ) В результате работы этого фрагмента программы на эк...
Задача Python Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью v ки...
Ячейка памяти компьютера состоит из однородных элементов называемых 1)кодами 2) битами 3)цифрами 4) коэффициент ...
Пусть А= "Ане нравятся уроки математики", а B= "Ане нравятся уроки химии" выразите следующие формулы на обычном языке. ------------ ------------ -----...
Все предметы