Python) Напишите программу, которая будет запрашивать у пользователя числа до тех пор, пока он не введет слово

  • 12
Python) Напишите программу, которая будет запрашивать у пользователя числа до тех пор, пока он не введет слово "end". Предполагается, что пользователь будет вводить только целые числа или слово "end". В конце программы необходимо вывести все введенные числа, разделенные запятыми, а также их сумму и среднее значение. Пример вывода: Введите числа: 1 10 25 -1 0 3 67 end Вы ввели: 1, 10, 25, -1, 0, 3, 67 Сумма: 105 Среднее значение: 15.0 Подсказка: Используйте цикл while для запроса чисел у пользователя и сохраните их в список. Используйте цикл for для подсчета суммы чисел в этом списке.
Mister
21
Конечно! Вот решение задачи:

python
# Инициализируем пустой список, в который будем сохранять введенные числа
numbers = []

# Ввод чисел от пользователя
while True:
# Запрашиваем число от пользователя
num = input("Введите число или "end" для завершения: ")

# Проверяем, является ли введенное значение числом или "end"
if num == "end":
break

try:
# Преобразуем введенное значение в целое число и добавляем его в список
numbers.append(int(num))
except ValueError:
print("Некорректный ввод! Попробуйте еще раз.")

# Вывод результатов
print("Вы ввели:", ", ".join(map(str, numbers))) # Выводим список чисел, разделенных запятыми
print("Сумма:", sum(numbers)) # Выводим сумму чисел
print("Среднее значение:", sum(numbers) / len(numbers)) # Выводим среднее значение


Давайте разберем программу по шагам:

1. Создаем пустой список `numbers`, в который будем сохранять введенные числа.

2. Используем бесконечный цикл `while True`, чтобы запрашивать числа от пользователя.

3. Внутри цикла запрашиваем число от пользователя и сохраняем его в переменную `num`.

4. Проверяем, является ли введенное значение равным строке "end". Если да, то прекращаем выполнение цикла с помощью команды `break`.

5. Если введенное значение не равно "end", то пытаемся преобразовать его в целое число с помощью функции `int()`. Если преобразование возможно, то добавляем это число в список `numbers`. Если преобразование не удалось из-за некорректного ввода пользователя, выводим сообщение об ошибке и просим ввести число еще раз.

6. После выхода из цикла `while`, выводим результаты:

- С помощью метода `join()` объединяем все числа из списка `numbers` в одну строку, разделяя их запятыми. Функция `map(str, numbers)` преобразует каждое число в строку для корректного объединения.
- Выводим сумму чисел с помощью функции `sum()`.
- Выводим среднее значение, разделив сумму всех чисел на их количество с помощью оператора деления `/`.

Теперь вы можете использовать это решение для ввода чисел и получения вывода, такого как в примере:


Введите число или "end" для завершения: 1
Введите число или "end" для завершения: 10
Введите число или "end" для завершения: 25
Введите число или "end" для завершения: -1
Введите число или "end" для завершения: 0
Введите число или "end" для завершения: 3
Введите число или "end" для завершения: 67
Введите число или "end" для завершения: end
Вы ввели: 1, 10, 25, -1, 0, 3, 67
Сумма: 105
Среднее значение: 15.0