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
→ Ссылка
Есть два варианта, как исправить Вашу ошибку:
Использовать символ
+для конкатенации строк:k = input("Введите элемент № " + str(i) + ": ")Форматирование с помощью f-строк (в фигурных скобках указывайте переменные):
k = input(f"Введите элемент № {i}: ")
Вы также можете сократить код до трёх строк с помощью генератора списка:
kol = int(input("Введите количество элементов: "))
lis = [input(f"Введите элемент №{i}: ") for i in range(kol)]
print(lis)