Python ругается, когда я пытаюсь в input тексте для пользователя добавить переменную i

Всем доброго времени суток! Я хочу, чтобы для пользователя был сменяющийся текст, в зависимости от номера элемента, который ему нужно сейчас ввести:

kol = int(input("Введите количество элементов: "))
lis = []
for i in range(kol):
    k = (input("Введите элемент № ", i))
    lis.append(k)
print(lis)
Дебаггер выдает:
    k = (input("Введите элемент № ", i))
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: input expected at most 1 argument, got 2

Подскажите, пожалуйста, как правильно синтаксически записать данное выражение, чтобы было как в print, но Питон не воспринимал его, как 2 аргумента? Спасибо!


Ответы (1 шт):

Автор решения: mrBars1k

Есть два варианта, как исправить Вашу ошибку:

  1. Использовать символ + для конкатенации строк:

    k = input("Введите элемент № " + str(i) + ": ")

  2. Форматирование с помощью f-строк (в фигурных скобках указывайте переменные):

    k = input(f"Введите элемент № {i}: ")

Вы также можете сократить код до трёх строк с помощью генератора списка:

kol = int(input("Введите количество элементов: "))
lis = [input(f"Введите элемент №{i}: ") for i in range(kol)]

print(lis)
→ Ссылка