Найти - Пользователи
Полная версия: почему не выполняется сложение
Начало » Python для экспертов » почему не выполняется сложение
1 2
Sedman7
вопрос вроди бы элементарный но в разделе для новичков ответа никто не знает, результат работы процедуры prt() - 0.0, почему результат сложения не сохраняется в k?

 k = 0.0
def cnt():
  k = 1+2
def prt():
  print(k)
cnt()
prt()
ZerG
ПОтому что открываем учебник М.Лутца и читаем две странички про область видимости
или хотябы тут
https://python-scripts.com/scope
Sedman7
ZerG
ПОтому что открываем учебник М.Лутца и читаем две странички про область видимостиили хотябы тутhttps://python-scripts.com/scope

если проблема в области видимости, то почему если делать через массив - прекрасно отрабатывает?:

 #определяем массивы нужного размера     
HL   = [0.0]           
#определим процедуру расчета 
def calcData():
    HL[0] = 1 + 2
#определим процедуру отображения данных 
def showData():
    print('A='+str(HL[0]))
calcData()
showData()

результат выводит А=3 как и должно быть
Sedman7
неужели никто не знает, элементарнейший вопрос?
xam1816
Sedman7
если проблема в области видимости, то почему если делать через массив - прекрасно отрабатывает?:
Читаем про изменяемый и неизменяемый тип ссылка
Sedman7
чтобы процедура, в данном случае cnt(), использовала глобальную переменную k - необходимо в теле процедуры указать это используя global, т.е. всего навсего добавить одну строку: global k и общий вид процедуры будет:
 k = 0.0
def cnt():
  global k 
  k = 1+2
def prt():
  print(k)
cnt()
prt()

да уж, знатоки тут, похоже, те еще собрались, элементарный вопрос…
ZerG
Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменных
То есть нисколько
JavaScript твой выбор. Ну максимум ПОхапе…
AD0DE412
ZerG
JavaScript твой выбор
эээто … там тоже область виджимости … такто
и позаморочиней на мой взгляд (хотя вы сами это знаете) чем в питоне
py.user.next
Sedman7
т.е. всего навсего добавить одну строку: global k и общий вид процедуры будет:
Sedman7
да уж, знатоки тут, похоже, те еще собрались, элементарный вопрос…
Как мы можем посоветовать тебе добавить global? Это же будет путь на самое дно! Так что скажи спасибо, что мы тебе сразу не дали в болоте из говна захлебнуться под радостные вопли. Но ты всё равно туда упал, кто-то всё-таки помог тебе Заметь, не мы это сделали.
Sedman7
ZerG
Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменныхТо есть нисколькоJavaScript твой выбор. Ну максимум ПОхапе…

конечно не читал, я вообще первый раз открыл питон в коллабе и просто интуитивно начал кодить подсматривая подсказки в интернете, мне питон не нужен, просто небольшой эксперимент в области ИИ
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB