Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
11 / 11 / 0
Регистрация: 07.10.2016
Сообщений: 196

Значение переменной из функции в фунцию

28.10.2021, 05:53. Показов 6973. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.

Не могу понять, почему значение переменной присвоенной в одной функции не передаётся в другую, хотя почитал уже про это и вроде все возможные причины устранил.
Есть основная процедура, в которой выводится окно, к примеру, две кнопки "Выбрать путь" и "Обновить". Если сразу нажимаю "Обновить", то путь берется из переменной folder_from, если нажимаю "Выбрать путь", то открывается окно, в котором пользователь сам выбирает путь и он заносится в переменную mfolder_from. Так вот, при нажатии кнопки "Выбрать путь", переменной mfolder_from присваивается верное значение, это видно в окне вызванным методом messagebox. А вот затем, если мы нажимаем кнопку "Обновить", то переменная mfolder_from оказывается пустой. Почему?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import tkinter.messagebox as mb
from tkinter import *
import tkinter as tk
import tkinter.filedialog as fd
 
def main():
 
    wnd = Tk()
 
    # создаем кнопку "Выбор пути для MF_6"
    but_Path_MF6 = Button(wnd, text="../", width=2, height=1)
    but_Path_MF6.bind("<Button-1>", clck_Path6)
    but_Path_MF6.grid(column=0, row=0)
 
    #создаем кнопку "Обновить"
    but_Upd = Button(wnd, text = "Обновить", width=15, height=1)
    but_Upd.bind("<Button-1>", clck_Upd6)
    but_Upd.grid(column=1, row=0)
 
    wnd.mainloop()
    
# Процедура нажатия кнопки выбора пути для обновления MF 6
def clck_Path6(event):
 
    mfolder_from = fd.askdirectory(title="Открыть папку", initialdir = " / ")
    mb.showwarning("Выбран путь с обновлением", mfolder_from)
 
# Процедура нажатия кнопки обновление MF 6
def clck_Upd6(event):
 
    # Если путь с обновлением не выбран вручную, то обновление берём из пути по умолчанию
    if not mfolder_from:
        mb.showwarning("Выбран путь с обновлением", folder_from)
    else:
        mb.showwarning("Выбран путь с обновлением", mfolder_from)
 
global folder_from
global mfolder_from
 
folder_from = 'path'
mfolder_from = ''
 
if __name__ == '__main__':
    main()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2021, 05:53
Ответы с готовыми решениями:

И снова глобальная переменная в js. Как изменить значение глобальной переменной в одной функции и увидеть это значение в другой функции?
Это учебное задание. Помогите, пожалуйста, разобраться почему func1 видит какую-то новую переменную t вместо window.t? Пробовала...

Вычислить значение функции (значение переменной Х передается в качестве параметра функции)
Написать функцию, которая возвращает вычисленное значение функции. Значение переменной Х передается в качестве параметра функции.

Вывести на экран значение функции в зависимости от переменной. И найти максимальное значение
Переменная x изменяется в интервале от – 5 до 20 с шагом 1. Вывести на экран значение функции в зависимости от переменной. И найти...

23
11 / 11 / 0
Регистрация: 07.10.2016
Сообщений: 196
06.11.2021, 10:14  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Catstail Посмотреть сообщение
Тебе все разжевали (глобальные переменные, области видимости и времена жизни, return, использование объектов). Как говорится - Sapienti sat (умному достаточно).
Во-первых, с каких пор мы на "ТЫ"?

Во-вторых, во втором сообщении Victorrus всё доходчиво по этому поводу изложил и лично меня это устроило, чем я выразил ему благодарность отметив его пост, нажав "Спасибо" от 28/10/2021 и прекратил писать в теме.
Но человек решил продолжить общение, которое я поддержал. Всё, что пошло с 04/11/2021 сугубо наше общение и не хочу разбираться, понял это кто-то или не понял, хотя могли в случае непонимания уточнить "Решена ли проблема?". К чему был вопрос "В каких это ЯП нельзя использовать одноименные переменные?" меня срубил, хотел ответить, что в любом (так и есть, потому как это грубейшая ошибка) и любой программист это знает с начала азов. Если вас это задело, это лично ваше дело, нужно было промолчать, но вы мне начали тыкать, обзывать сынком и какие-то угрозы писать. Может вы недостойны "Модераторства" и нужно сначала воспитанность свою на соответствующий уровень повысить, а потом уже ввязываться в дискуссии?
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
06.11.2021, 11:04
VKont, Зря Вы завелись и начали грубить. Catstail, уважаемый участник форума и как показывает счетчик, он уже оказал квалифицированную помощь участникам форума в количестве 3262 человека. И кому быть модератором решают не участники форума, а администрация, с учетом пользы которую конкретный человек принес этому форуму.
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,774
Записей в блоге: 14
06.11.2021, 11:14
Viktorrus, да ладно... Ну, погорячились оба.
0
11 / 11 / 0
Регистрация: 07.10.2016
Сообщений: 196
06.11.2021, 11:16  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
Зря Вы завелись и начали грубить
Я как раз не заводился и никому не грубил. А уровень знаний, званий, регалий и т. д. не отменяет статус человека, нужно уважать собеседников, доказывать им свою правоту делом и опытом, а не переходить на оскорбления типа сынок, сопляк, неуч и т. д. и т. п., тем более модератору, администратору.

Надеюсь всё урегулируется и все кто в курсе подчерпнут это как опыт, к коему мы все как программисты, должны стремиться и постоянно наращивать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2021, 11:16

Вывести на экран значение функции в зависимости от переменной. И найти максимальное значение
Выполнить задание используя условный оператор и оператор цикла. Переменная x изменяется в интервале от -11 до 14 с шагом 3. Вывести на...

Составьте программу, которая: запрашивает значение переменной x и шага n; выводит значение функции
У ми жуткая программа по информе: 5 занятий по паскалю и контрольная. А мы ЭТОГО даже на алгебре ещё не проходили:'( Суть задачи: ...

Составте программу, которая:запрашивает значение переменной X и шага Y;выводит значение функции f(x)=(2x-cosx): (x+1) в точках х,х+n,х-n.
Люди, напишите прогу: 1 задание: Составте программу, которая:запрашивает значение переменной X и шага Y;выводит значение функции ...

Как посчитать и запомнить значение переменной в одной функции, а потом использовать ее в другой функции?
//файл task.cpp #include &quot;stdafx.h&quot; bool twice (int mas, int n) { int k=0; for (int i=1;i&lt;=n; i++) { if ((mas&gt;9)...

Значение функции по одной из функции в зав от переменной
Решение функции в зависимости от переменной , помогите сделать :) z=8y2-k, где y вычисляется по одной из формул: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru