11 / 11 / 0
Регистрация: 07.10.2016
Сообщений: 196

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

28.10.2021, 05:53. Показов 6975. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru