List возвращает каждый объект как строковый тип, но прерывается, когда я пытаюсь преобразовать его в int

#python-3.x

#python-3.x

Вопрос:

Я пытаюсь написать некоторый код, чтобы взять коэффициент умножения и некоторые векторы, а затем умножить их вместе. Я могу выполнить математические вычисления, и код работает, но когда я ввожу свой вектор, он будет принят только как строка. Например, если мой коэффициент равен 5, а вектор равен 1 2, то я получаю 11111 22222. Я понимаю, это потому, что код считывает мой векторный ввод в виде строки, но если я когда-либо помещу векторный список в функцию int() , мой код там сломается. Любая помощь будет оценена. Вот мой код:

 mult_factor = int(input("What number do you want some vectors multiplied by? "))
vector_input = input("Enter the vectors you want to be multiplied ")

vector_string = vector_input.split()


def scalar_mult(mult, vect):
    scalar_list = [i * mult for i in vect]
    return scalar_list

answer = scalar_mult(mult_factor, vector_string)
print(answer)
  

Комментарии:

1. Попробуйте: vector_string = [int(i) for i in vector_input.split()] или vector_string = list(map(int, vector_input.split())) превратить ваши строки в целые числа перед началом.

2. @Loocid Да, по крайней мере, второй вариант сработал! Спасибо