Необходимо написать программу, которая будет считывать со входа данные последовательностей чисел, считать и выводить их среднее значение. Напишите сначала функцию, которая будет принимать строку, а в ответ возвращать среднее значение чисел из нее. А далее применяйте эту функцию к каждой считанной входной последовательности. На вход будут подаваться строки, в которых расположены целые числа, разделенные пробелом. Передача пустой строки будет означать конец входных данных.
Пример 1
Входные данные:
1 2 3 4
1 1 1
Выходные данные:
2.5
1.0
python
def calculate_average(sequence):
# Разбиваем строку на числа
numbers = sequence.split(" ")
# Преобразуем числа из строкового представления в числовое
numbers = [int(number) for number in numbers]
# Вычисляем среднее значение
average = sum(numbers) / len(numbers)
return average
Затем в основной программе будем считывать последовательности чисел со входа и применять эту функцию к каждой последовательности. Для чтения входных данных будем использовать конструкцию `while True` и прерывать цикл, когда будет обнаружена пустая строка.
python
while True:
# Считываем строку со входа
sequence = input()
# Проверяем, является ли строка пустой
if sequence == "":
break
# Вычисляем среднее значение и выводим его
average = calculate_average(sequence)
print(average)
Пример завершенной программы:
python
def calculate_average(sequence):
# Разбиваем строку на числа
numbers = sequence.split(" ")
# Преобразуем числа из строкового представления в числовое
numbers = [int(number) for number in numbers]
# Вычисляем среднее значение
average = sum(numbers) / len(numbers)
return average
while True:
# Считываем строку со входа
sequence = input()
# Проверяем, является ли строка пустой
if sequence == "":
break
# Вычисляем среднее значение и выводим его
average = calculate_average(sequence)
print(average)
При запуске программы и вводе данных, она будет последовательно считывать строки с числами и выводить их среднее значение до тех пор, пока не будет введена пустая строка. В результате выполнения примера из задачи будут выведены числа 2.5 и 1.0.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет