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