Объясните, пожалуйста, почему функция выводит не то, что по идее должна выводить
Объясните, пожалуйста, почему, когда я пишу
def updatenumber(n):
n *= 2
b = 8
updatenumber(b)
print(b)
выводится 8, а не 16. Ведь я задал функцию, которая должна умножить заданное число на 2. Разве не должно быть так:
- создана функция, умножающая число на
2. - задается число
b = 8. - Впихиваем в аргумент функции число
b. - Создана новая переменная, значение которой равно
16.
В чем ошибка?
Ответы (1 шт):
Автор решения: Danis
→ Ссылка
переменная n существует только внутри функции updatenumber после завершения функции n исчезает
можете добавить return чтобы b был равен 16
def updatenumber(n):
n *= 2
return n
b = 8
b = updatenumber(b)
print(b)