PYTHON/Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое чисел, кратных 8, или сообщает, что таких чисел нет
(выводит «NO»). Программа получает на вход количество чисел в
последовательности, а затем сами числа.
Программа должна вывести среднее арифметическое чисел, кратных 8, или вывести «NO», если таких чисел нет

Noni234 Noni234    1   08.02.2021 19:22    98

Ответы
костя663 костя663  10.03.2021 19:29

n = int(input())

a = list(map(int, input().split()))

num_sum = 0

num_count = 0

for x in a:

   if x % 8 == 0:

       num_sum += x

       num_count += 1

if num_count:

   print(num_sum/num_count)

else:

   print('NO')


PYTHON/Напишите программу, которая в последовательности натуральных чисел находит среднее арифметиче
ПОКАЗАТЬ ОТВЕТЫ
Хорошо, давайте решим задачу по порядку.

Первым шагом будет ввод данных.
Мы должны запросить количество чисел в последовательности у пользователя. Давайте создадим переменную n и присвоим ей значение, введенное пользователем:

```python
n = int(input("Введите количество чисел: "))
```

Затем нам нужно ввести сами числа. Давайте создадим пустой список, который будет содержать числа последовательности. Затем мы попросим пользователя ввести каждое число, добавим его в список:

```python
numbers = []
for i in range(n):
num = int(input("Введите число: "))
numbers.append(num)
```

Теперь у нас есть список чисел, и мы можем переходить к следующему шагу - поиск чисел, кратных 8.

Для этого создадим переменную `sum_` (начальное значение равно 0), которая будет хранить сумму чисел, кратных 8, и переменную `count`, которая будет хранить количество таких чисел (начальное значение равно 0). Затем мы будем итерировать по каждому числу в списке и проверять, кратно ли оно 8. Если оно кратно 8, мы увеличиваем `sum_` на это число и увеличиваем `count` на 1:

```python
sum_ = 0
count = 0
for num in numbers:
if num % 8 == 0:
sum_ += num
count += 1
```

Теперь мы нашли сумму чисел, кратных 8, и количество таких чисел. Однако нам нужно учесть, что возможно не было найдено ни одно число, кратное 8. Для этого добавим условие, которое будет проверять значение `count`. Если `count` равно 0, то мы выводим "NO". В противном случае, мы вычисляем среднее арифметическое, которое равно `sum_` / `count`:

```python
if count == 0:
print("NO")
else:
average = sum_ / count
print("Среднее арифметическое:", average)
```

Итак, вот полная программа:

```python
n = int(input("Введите количество чисел: "))

numbers = []
for i in range(n):
num = int(input("Введите число: "))
numbers.append(num)

sum_ = 0
count = 0
for num in numbers:
if num % 8 == 0:
sum_ += num
count += 1

if count == 0:
print("NO")
else:
average = sum_ / count
print("Среднее арифметическое:", average)
```

Я надеюсь, что это решение понятно и информативно. Если у вас возникнут вопросы, не стесняйтесь задавать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика