Как найти среднее арифметическое всех чисел в непустой последовательности неотрицательных целых чисел, которая

  • 9
Как найти среднее арифметическое всех чисел в непустой последовательности неотрицательных целых чисел, которая заканчивается отрицательным числом? Нужно решение на языке Python.
Ледяной_Самурай
41
Конечно! Для решения этой задачи на языке Python, необходимо использовать цикл while для чтения чисел из последовательности до момента, когда будет введено отрицательное число. Затем, мы будем суммировать все числа в последовательности и поделим полученную сумму на количество чисел. Вот решение:

python
# Инициализация переменных
сумма = 0
количество = 0

# Чтение чисел из последовательности
число = int(input("Введите число: "))

while число >= 0:
сумма += число
количество += 1
число = int(input("Введите число: "))

# Проверка, чтобы избежать деления на ноль
if количество != 0:
среднее_арифметическое = сумма / количество
print("Среднее арифметическое: ", среднее_арифметическое)
else:
print("Последовательность не содержит ни одного числа.")


Давайте подробнее разберем этот код.

Сначала у нас есть инициализация двух переменных: сумма и количество. Сумма будет использоваться для хранения суммы всех чисел в последовательности, а количество - для хранения количества чисел.

Затем мы начинаем цикл while, который будет продолжаться до тех пор, пока вводимое число больше или равно нулю. Внутри цикла мы добавляем введенное число к сумме и увеличиваем количество на единицу. Затем запрашиваем следующее число.

Когда будет введено отрицательное число, цикл прекратится, и мы перейдем к следующему блоку кода. Здесь мы проверяем, было ли введено хотя бы одно число (количество не равно нулю). Если да, то мы вычисляем среднее арифметическое, разделив сумму на количество, и выводим результат. Если же количество равно нулю, это означает, что в последовательности не было ни одного числа, и мы выводим сообщение об этом.

Надеюсь, это решение понятно и полезно! Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь спрашивать.