Форум сайта python.su
вопрос вроди бы элементарный но в разделе для новичков ответа никто не знает, результат работы процедуры prt() - 0.0, почему результат сложения не сохраняется в k?
k = 0.0 def cnt(): k = 1+2 def prt(): print(k) cnt() prt()
Офлайн
ПОтому что открываем учебник М.Лутца и читаем две странички про область видимости
или хотябы тут
https://python-scripts.com/scope
Офлайн
ZerG
ПОтому что открываем учебник М.Лутца и читаем две странички про область видимостиили хотябы тутhttps://python-scripts.com/scope
#определяем массивы нужного размера HL = [0.0] #определим процедуру расчета def calcData(): HL[0] = 1 + 2 #определим процедуру отображения данных def showData(): print('A='+str(HL[0])) calcData() showData()
Отредактировано Sedman7 (Ноя. 15, 2022 14:48:49)
Офлайн
неужели никто не знает, элементарнейший вопрос?
Офлайн
Sedman7Читаем про изменяемый и неизменяемый тип ссылка
если проблема в области видимости, то почему если делать через массив - прекрасно отрабатывает?:
Офлайн
чтобы процедура, в данном случае cnt(), использовала глобальную переменную k - необходимо в теле процедуры указать это используя global, т.е. всего навсего добавить одну строку: global k и общий вид процедуры будет:
k = 0.0 def cnt(): global k k = 1+2 def prt(): print(k) cnt() prt()
Офлайн
Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменных
То есть нисколько
JavaScript твой выбор. Ну максимум ПОхапе…
Офлайн
ZerGэээто … там тоже область виджимости … такто
JavaScript твой выбор
Отредактировано AD0DE412 (Ноя. 16, 2022 17:35:26)
Офлайн
Sedman7
т.е. всего навсего добавить одну строку: global k и общий вид процедуры будет:
Sedman7Как мы можем посоветовать тебе добавить global? Это же будет путь на самое дно! Так что скажи спасибо, что мы тебе сразу не дали в болоте из говна захлебнуться под радостные вопли. Но ты всё равно туда упал, кто-то всё-таки помог тебе Заметь, не мы это сделали.
да уж, знатоки тут, похоже, те еще собрались, элементарный вопрос…
Отредактировано py.user.next (Ноя. 16, 2022 21:43:33)
Офлайн
ZerG
Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменныхТо есть нисколькоJavaScript твой выбор. Ну максимум ПОхапе…
Офлайн