Top.Mail.Ru
Ответы

Питон, переменная в input

Я хочу засунуть переменную perem = 1 в input так, как это возможно в print:

print("текст", perem, "текст")

Тоесть нужно что-то вроде:

A = int(input("текст", perem, "текст")
(но такая версия не работает)

Как это сделать? Не обязательно это делать в одну строку

По дате
По рейтингу
Аватар пользователя
Новичок
3мес

Да, напрямую подставить переменную в input() как в print() нельзя. input() принимает только одну строку-приглашение. Но есть несколько способов добиться нужного результата:

1. Конкатенация строк (через +):

perem = 1
A = int(input("текст " + str(perem) + " текст"))

Преобразуем perem в строку с помощью str().
Соединяем строки с помощью оператора +.
2. Форматирование строк (f-строки):

perem = 1
A = int(input(f"текст {perem} текст"))

Самый современный и удобный способ.
Ставим префикс f перед строкой.
Внутри строки, в фигурных скобках {}, указываем имя переменной.
3. Метод .format():

perem = 1
A = int(input("текст {} текст".format(perem)))

Метод .format() подставляет аргументы в строку на места, обозначенные {}.
Какой способ выбрать?

F-строки (способ 2) — самый предпочтительный вариант, так как он наиболее читаемый и эффективный.
Пример (используя f-строки):

perem = 1
A = int(input(f"Введите число, умноженное на {perem}: "))
print(f"Вы ввели: {A}")

Этот код выведет приглашение: «Введите число, умноженное на 1: » Пожалуйста, поставьте лайк.

Аватар пользователя
Мыслитель
3мес

ф строки

Аватар пользователя
Гуру
3мес

Сначала опиши как это должно работать, тогда будет понятно как это сделать.

Аватар пользователя
3мес

Тебе нужно, чтобы ввод текста был посередине, между двумя другими блоками текста? Если да, то стандартные функции не подойдут, нужно что-то типа ncurses, но для Python. Попробуй поискать в Интернете библиотеки для этого.