пусть принимает строку, а потом в коде через try: пытаться преобразовать строку в число и работать как с числом или except: обрабатывать как текст и у тебя в коде идет попытка преобразования во флоат а не в инт
Чтобы ваш код мог обрабатывать как числа, так и строки (например, команду "стоп"), вы можете использовать конструкцию `try-except`, чтобы попытаться преобразовать ввод в число. Если преобразование не удается (например, когда вводится "стоп"), программа должна завершить выполнение цикла. Вот как это можно сделать:
```python total, count = 0, 0
while True: user_input = input("Введите число или 'стоп' для завершения: ")
try: number = float(user_input) # Пробуем преобразовать ввод в число total += number count += 1 except ValueError: if user_input.lower() == "стоп": # Проверяем, если ввод 'стоп' break else: print("Пожалуйста, введите число или 'стоп' для завершения.")
if count > 0: print(f"Среднее значение: {total / count}") else: print("Не было введено ни одного числа.") ```
Объяснение: 1. Ввод пользователя считывается и сохраняется в переменной `user_input`. 2. С помощью `try-except` конструкция пытается преобразовать ввод в число типа `float`. 3. Если преобразование успешно, число добавляется к сумме, и счетчик увеличивается. 4. Если преобразование не удается (возникает `ValueError`), программа проверяет, является ли ввод командой "стоп". Если да, программа выходит из цикла. В противном случае выводится сообщение о необходимости ввести число или "стоп". 5. После завершения цикла программа вычисляет и выводит среднее значение, если были введены числа. В противном случае выводится сообщение о том, что числа не были введены.