Как мне постоянно запускать цикл if? - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу постоянно запускать цикл if вне своих функций, но я не могу понять, как это сделать. Я сделал макет кода ::

import tkinter
from tkinter import *

code = Tk()

T = 1
X = 0

def printx():
    global X
    print(X);

def teez():
    global T
    T = 0;

def teeo():
    global T
    T = 1;

if T == 1:
    X = 5
else:
    X = 6

button1 = Button(code, text = "Print X", command = printx)
button1.pack()
button2 = Button(code, text = "T = 0", command = teez)
button2.pack()
button2 = Button(code, text = "T = 1", command = teeo)
button2.pack()

code.mainloop()

Я хочу, чтобы цикл if изменился X в зависимости от того, что выполняют мои функции, но цикл if, похоже, не работает.

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

Не существует такого понятия, как цикл if. if - это условный оператор, который выполняет одну из двух ветвей кода, только один раз. Циклические операторы на этом уровне: for и while; см. ваши любимые учебники по Python, чтобы ознакомиться с их использованием.

Запуск контура постоянного контроля - неправильный поток управления для этого. Скорее, вам нужно только проверить, когда кнопка нажата. Поместите функциональность в ваши процедуры обработки пресса:

def teez():
    global T, X
    T = 0
    X = 6

def teeo():
    global T, X
    T = 1
    X = 5

Я сильно сомневаюсь в установке глобальных переменных в коде. Вместо этого рассмотрите возможность создания объекта с атрибутами T и X и установки их по мере необходимости, передавая объект подпрограммам, которые должны ими манипулировать.

0 голосов
/ 06 сентября 2018

структура if - это не цикл, а условный оператор. Если вы хотите сделать что-то итеративно, попробуйте набрать while True:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...