Пример пользовательского ввода списка чисел, разделенных пробелами:
numbers = list(map(int, input("Введите числа через пробел: ").split()))Пояснения:
input("Введите числа через пробел: ") - Получает строку ввода от пользователя..split() - Разбивает строку на список строк по пробелам.map(int, ...) - Применяет функцию int к каждому элементу списка строк, преобразуя их в целые числа.list(...) - Преобразует результат map в список.Для задания пользовательского ввода списка чисел на Python, существует несколько подходов, учитывая разные требования к формату ввода и валидации данных. Вот несколько наиболее распространенных:
Этот метод предполагает, что пользователь вводит числа, разделенные пробелами, а затем программа преобразует строку в список чисел.
def get_list_from_space_separated_input():
  """Получает список чисел, разделенных пробелами, от пользователя."""
  try:
    input_string = input("Введите числа, разделенные пробелами: ")
    numbers = [int(x) for x in input_string.split()]
    return numbers
  except ValueError:
    print("Ошибка: Введены некорректные данные. Пожалуйста, введите только числа, разделенные пробелами.")
    return None # Или можно повторить запрос ввода
# Пример использования:
my_list = get_list_from_space_separated_input()
if my_list:
  print("Введенный список:", my_list)
Объяснение:
input() получает строку ввода от пользователя.input_string.split() разделяет строку на список подстрок, используя пробел в качестве разделителя.[int(x) for x in ...] использует генератор списка для преобразования каждой подстроки в целое число.try...except блок обрабатывает исключение ValueError, которое возникает, если пользователь ввел что-то, что нельзя преобразовать в число.Аналогично предыдущему, но используется запятая в качестве разделителя.
def get_list_from_comma_separated_input():
  """Получает список чисел, разделенных запятыми, от пользователя."""
  try:
    input_string = input("Введите числа, разделенные запятыми: ")
    numbers = [int(x.strip()) for x in input_string.split(',')] # .strip() для удаления лишних пробелов
    return numbers
  except ValueError:
    print("Ошибка: Введены некорректные данные. Пожалуйста, введите только числа, разделенные запятыми.")
    return None
# Пример использования:
my_list = get_list_from_comma_separated_input()
if my_list:
  print("Введенный список:", my_list)
Важно: Добавлен .strip() для удаления возможных пробелов вокруг чисел.
Этот метод требует, чтобы пользователь вводил каждое число на новой строке, а программа запрашивала числа до тех пор, пока пользователь не укажет, что ввод завершен (например, введет определенную команду или пустую строку).
def get_list_from_newline_separated_input():
  """Получает список чисел, каждое число на новой строке."""
  numbers = []
  print("Введите числа, каждое на новой строке.  Введите 'done' для завершения.")
  while True:
    input_string = input()
    if input_string.lower() == 'done':
      break
    try:
      number = int(input_string)
      numbers.append(number)
    except ValueError:
      print("Ошибка: Введите целое число или 'done'.")
  return numbers
# Пример использования:
my_list = get_list_from_newline_separated_input()
print("Введенный список:", my_list)
Объяснение:
while True создает бесконечный цикл, пока пользователь не введет 'done'.input_string.lower() == 'done' преобразует ввод в нижний регистр для сравнения без учета регистра.Сначала запрашивается количество чисел, а затем запрашиваются сами числа.
def get_list_with_count():
    """Получает список чисел, с предварительным указанием количества."""
    try:
        count = int(input("Введите количество чисел в списке: "))
        if count <= 0:
            print("Количество чисел должно быть больше 0.")
            return None
        numbers = []
        for i in range(count):
            while True: # Ensure we get a valid number for each iteration
                try:
                    num = int(input(f"Введите число {i+1}: "))
                    numbers.append(num)
                    break # Exit inner loop if valid number is entered
                except ValueError:
                    print("Ошибка: Пожалуйста, введите целое число.")
        return numbers
    except ValueError:
        print("Ошибка: Введите целое число для количества чисел.")
        return None
# Пример использования:
my_list = get_list_with_count()
if my_list:
    print("Введенный список:", my_list)
Объяснение:
for запрашиваются числа по одному.while True гарантирует, что будет введено валидное целое число для каждой позиции в списке.Важно: Все приведенные примеры обрабатывают исключения ValueError, чтобы предотвратить сбой программы при некорректном вводе.  В зависимости от требований к вашему приложению, вы можете добавить дополнительную валидацию (например, проверку диапазона чисел).