Я не уверен, что то, что вы просите, в ваших интересах. Значения, хранящиеся в переменных, уже переносятся по умолчанию при импорте файла, из которого они получены. Тем не менее, этот тип спорадической архитектуры не считается хорошей практикой. Позвольте мне дать вам несколько отзывов о вашей программе. Сначала давайте дадим некоторую проверку ввода:
# start off setting keep_paper to nothing
keep_paper = ''
# As long as the player does not enter 'take' or 'leave' we are going to
# keep asking them to enter a proper response.
while keep_paper not in ['take', 'leave']:
# here we are going to "try" and ask the player for his choice
try:
# here we are getting input from the user with input(...)
# then converting it into a string with str(...)
# then converting it to lowercase with .lower()
# all together str(input(...)).lower()
keep_paper = str(input("Do you want to Leave the piece of paper or Take it? > ")).lower()
# if the player entered an invalid response such as "53" we will go back
# to the beginning and ask for another response.
except ValueError:
print("Sorry, I didn't understand that.")
# ask the user to provide valid input
continue
if have_note_01 == True:
print("True")
elif have_note_01 == False:
print("False")
Теперь давайте рассмотрим основную тему вашего вопроса. Имея значение, присвоенное переменной, переносится на импорт. Как я уже упоминал, это, как правило, не то, что вам нужно, поэтому большинство программ на Python имеют код, включающий:
if __name__ == "__main__":
# do xyz....
Это гарантирует, что xyz
будет запускаться только при запуске файла и не будет выполняться при импорте файла.
Для правильной оценки я рекомендую вам оформить заказ: https://github.com/phillipjohnson/text-adventure-tut/tree/master/adventuretutorial, чтение кода в этом проекте даст вам лучшее представление о том, как вы можете заняться собственным проектом. (Основы функций, классов и наследования)