Я думал, что использование функции возврата приведет к тому, что переменная, помещенная после нее, будет передана за пределы моей функции (возвращено?).Похоже, нет, почему бы и нет?
Я пытаюсь написать некоторый код, который требует от меня составления списка из 5 элементов внутри функции, а затем передать этот список за пределы функции и выполнить с ней некоторую работу.Прямо сейчас у меня есть только заявление для печати, написанное за его пределами, просто пытаюсь увидеть, проходит ли оно вне моей функции, но в дальнейшем мне нужно будет сделать больше.Это говорит мне, что переменная не определена, поэтому я предполагаю, что она не передается.
Почему переменная списка, помещенная после команды возврата, не будет передана за пределы функции и будет бесплатной для использования, и что делатьМне нужно сделать так, чтобы я мог фактически вызвать свою переменную списка вне функции?
#Gather data about elements and turn into a list to check agsint function list later
!curl https://raw.githubusercontent.com/MicrosoftLearning/intropython/master/elements1_20.txt -o elements1_20.txt
elements_20 = open("elements1_20.txt","r")
elements_20.seek(0)
elements = elements_20.readline().strip()
element_list = []
while elements:
element_list.append(elements)
elements = elements_20.readline().strip()
print(element_list)
# define function to get user input and compile it into a list
def get_name():
user_list = []
while len(user_list) < 5:
user_input=input("Name one of the first 20 items please kind sir: ")
#check to make sure the input is unique
if user_input.lower() in user_list:
print("please don't enter the same word twice")
else:
user_list.append(user_input.lower())
return user_list
get_name()
print(user_list)
Примечание: мне нужна функция, чтобы не принимать никаких аргументов, поэтому я не могу использовать этометод как решение.