Проблемы с функцией возврата / глобальной переменной - PullRequest
0 голосов
/ 03 декабря 2018

Я очень запутался и надеюсь, что кто-то может направить меня в правильном направлении.Я пишу функцию, которая не требует каких-либо параметров.Функция должна затем вернуть значение, которое вводит пользователь.Любая помощь, помогающая мне понять, почему это не работает, приветствуется.Я знаю, что могу раскомментировать строку #global name и это работает.Однако я понимаю, что глобальные переменные не очень хорошая идея, и я не понимаю, почему функция возврата не выполняет то, что я ожидаю.

Мой код:

def intro():
    # Intro
    print('Welcome to my math quiz!')
    print('')

    # Ask the user for their name
    print('What is your name?')
    print('Remember to press the "Enter" key after every answer.')
    print('')
    #global name
    name = input('Type your name: ') # store answer in variable called 'name'
    print('')
    print('Hi,', name + '!' + ' Good Luck on the test.')
    #user_name = name
    return name

intro()
print(name)

Результаты выполнения кода следующие: Добро пожаловать в мой математический тест!

Как вас зовут?Не забудьте нажимать клавишу «Ввод» после каждого ответа.

Введите свое имя: Рекс

Привет, Рекс!Удачи на тесте.Traceback (последний вызов был последним): файл "test_6.py", строка 20 в print (name). NameError: name 'name' не определено.

...