Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 15, 2022 13:50:01

Sedman7
Зарегистрирован: 2022-11-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не выполняется сложение

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

 k = 0.0
def cnt():
  k = 1+2
def prt():
  print(k)
cnt()
prt()

Офлайн

#2 Ноя. 15, 2022 14:30:28

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

почему не выполняется сложение

ПОтому что открываем учебник М.Лутца и читаем две странички про область видимости
или хотябы тут
https://python-scripts.com/scope



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#3 Ноя. 15, 2022 14:48:29

Sedman7
Зарегистрирован: 2022-11-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не выполняется сложение

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 (Ноя. 15, 2022 14:48:49)

Офлайн

#4 Ноя. 15, 2022 15:15:13

Sedman7
Зарегистрирован: 2022-11-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не выполняется сложение

неужели никто не знает, элементарнейший вопрос?

Офлайн

#5 Ноя. 15, 2022 20:24:07

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1348
Репутация: +  118  -
Профиль   Отправить e-mail  

почему не выполняется сложение

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

Офлайн

#6 Ноя. 16, 2022 15:02:32

Sedman7
Зарегистрирован: 2022-11-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не выполняется сложение

чтобы процедура, в данном случае cnt(), использовала глобальную переменную k - необходимо в теле процедуры указать это используя global, т.е. всего навсего добавить одну строку: global k и общий вид процедуры будет:

 k = 0.0
def cnt():
  global k 
  k = 1+2
def prt():
  print(k)
cnt()
prt()

да уж, знатоки тут, похоже, те еще собрались, элементарный вопрос…

Офлайн

#7 Ноя. 16, 2022 15:37:29

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

почему не выполняется сложение

Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменных
То есть нисколько
JavaScript твой выбор. Ну максимум ПОхапе…



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#8 Ноя. 16, 2022 17:34:50

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

почему не выполняется сложение

ZerG
JavaScript твой выбор
эээто … там тоже область виджимости … такто
и позаморочиней на мой взгляд (хотя вы сами это знаете) чем в питоне



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Ноя. 16, 2022 17:35:26)

Офлайн

#9 Ноя. 16, 2022 21:41:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9846
Репутация: +  853  -
Профиль   Отправить e-mail  

почему не выполняется сложение

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



Отредактировано py.user.next (Ноя. 16, 2022 21:43:33)

Офлайн

#10 Ноя. 17, 2022 12:37:26

Sedman7
Зарегистрирован: 2022-11-15
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

почему не выполняется сложение

ZerG
Я вижу что про глобальные переменные ты прочитал столько же как и про область видимости и про типы переменныхТо есть нисколькоJavaScript твой выбор. Ну максимум ПОхапе…

конечно не читал, я вообще первый раз открыл питон в коллабе и просто интуитивно начал кодить подсматривая подсказки в интернете, мне питон не нужен, просто небольшой эксперимент в области ИИ

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version