Ссылка на входную переменную в другой входной переменной

Как промежуточный разработчик Python я попытался решить проблему, имитирующую виртуальную библиотеку. По сути, мне нужно спросить у пользователя его имя и количество прочитанных книг.

Мой ввод должен выглядеть примерно так:

name = str(input("Enter name: ")))
booksRead = int(input("Number of books", *name variable* "read: "))

К сожалению, я не могу найти способ сослаться на свою переменную имени в моей переменной booksRead (очевидно, что python не позволяет ссылаться на переменные в подсказках ввода).

Как я могу добиться такого же результата?


person Youraverageprogrammer    schedule 29.11.2019    source источник


Ответы (2)


использовать :

booksRead = int(input(f"Number of books {name} read: "))

https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals

https://docs.python.org/3/reference/lexical_analysis.html#f-strings

person Loïc    schedule 29.11.2019
comment
f-string - это мой предпочтительный подход в наши дни, чтобы все выглядело чище и читабельнее - person Chris Doyle; 29.11.2019
comment
Должен согласиться с тобой там - person Youraverageprogrammer; 29.11.2019

Итак, есть несколько возможных решений, одно из них - то, что предложил Лоик.

другой вариант - использовать format:

booksRead = int(input("Number of books {:} read: ".format(name)))

другой вариант - использовать %s:

booksRead = int(input("Number of books %s read: " % name))

все эквивалентны

person David    schedule 29.11.2019
comment
согласен, эти варианты тоже работают, но я должен сказать, что мне нравится форматирование f-строки: D - person Loïc; 29.11.2019
comment
Полностью забыл о новом строковом формате, спасибо за помощь и предоставление некоторых других опций, очень признателен. - person Youraverageprogrammer; 29.11.2019