Tenho um software que trata datas, escrito da seguinte maneira:
def EscolheDataInicio():
controle1 = None
controle2 = None
if controle1 == None:
teste = easygui.ccbox(msg="Escolher data início?", title="Escolher data de início", choices=('[O]k', '[C]ancel'))
if teste == False:
controle1 = 1
else:
while controle1 == None:
controle1 = easygui.enterbox(msg="Insira data início", title="Definir data início")
ValidaDataInicio()
EscolheDataFim()
A ideia é setar um intervalo de datas (controle1 e controle2) OU setar uma data de referência padrão determinada pelo sistema (caso o usuário cancele a CCBOX, o programa assumirá que ele não pretende inserir um intervalo de datas, e setará "controle1" como "1", saindo do loop.
A dúvida é: como MANTER esse 1, para que o programa NÃO ENTRE na função novamente, já que eu declaro "controle1" como "None" como variável LOCAL a cada chamada? Já tentei declarar "controle1" como "None" FORA da função, e inserir um "global controle1" na função, mas aí ela retorna o erro "NameError: name 'controle1' is not defined".