Да, можно получить входные данные от функции.Вы получаете ввод от пользователя правильно, однако, похоже, что у вас проблема с областью видимости функции.
Проблема NameError, которую вы получаете, связана с областью действия ваших переменных.Вы определили их в своей функции умножения, и вы пытаетесь получить к ним доступ вне области действия функции.Область действия функции Python означает, что у вас есть доступ к этим переменным только в отступе под функцией.
Например: если у вас было:
multiply():
num_1 = 2
print(num1)
Не было бы ошибки имени, потому что вынаходятся в рамках функции.Однако, если бы вы сделали что-то вроде этого:
multiply():
num_1 = 2
print(num1)
Вы получите NameError: num_1 не определено