Пример #1
0
    def __init__(self):
        layout = [[
            sg.Button('Lista'),
            sg.Button('Fila'),
            sg.Button('Pilha'),
            sg.Button('Árvore'),
            sg.Button('Grafo')
        ], [sg.Button('Fechar')]]

        win = sg.Window('Projeto de ED', layout)
        event, value = win.read()
        random.shuffle(aux)
        global estrutura
        if (event == sg.WIN_CLOSED or event == 'Fechar'):
            win.close()
        elif (event == "Lista"):
            estrutura = ListaDinamica.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()

        elif (event == "Fila"):
            estrutura = Fila.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()

        elif (event == "Pilha"):
            estrutura = Pilha.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()
        elif (event == "Árvore"):
            estrutura = Arvore.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()
Пример #2
0
    def __init__(self, opcao):
        dado = []

        layout = [
            [sg.Text('Por favor, informe aqui os dados:')],
            [sg.Text('Chave', size=(30, 1)),
             sg.InputText()],
            [sg.Text('Data de Observação', size=(30, 1)),
             sg.InputText()],
            [
                sg.Text('Estado da Província (Se for na China)', size=(30, 1)),
                sg.InputText()
            ], [sg.Text('Região do País', size=(30, 1)),
                sg.InputText()],
            [sg.Text('Última Atualização', size=(30, 1)),
             sg.InputText()],
            [sg.Text('Casos confirmados', size=(30, 1)),
             sg.InputText()],
            [sg.Text('Número de mortos', size=(30, 1)),
             sg.InputText()],
            [sg.Text('Números de recuperados', size=(30, 1)),
             sg.InputText()], [sg.Submit(), sg.Cancel()]
        ]

        window_ins = sg.Window('Dados', layout)
        event, values = window_ins.read()

        print(event)

        if (event == 'Cancel'):
            window_ins.close()
        else:
            for i in values:
                dado.append(values[i])

            dado[0] = int(dado[0])

            aux2 = Struct.CovidLine(*dado)

            if (opcao == 1):
                estrutura.inserir(aux2)
            elif (opcao == 2):
                estrutura2.inserir(aux2)
            elif (opcao == 3):
                estrutura3.inserir(aux2)

            window_ins.close()
Пример #3
0
    def __init__(self, parent, controller):
        tk.Frame.__init__(self, parent)
        self.controller = controller

        label = tk.Label(self, text="Lista")
        label.grid(row=0, column=1, padx=5, pady=5)

        estrutura = ListaDinamica.CoviList()
        data = pd.read_csv("./covid_19_data.csv",
                           header=1,
                           na_filter=True,
                           na_values='nan',
                           keep_default_na=False)
        aux = list(range(len(data)))
        random.shuffle(aux)
        x = 0

        while (x < 100):
            dado = Struct.CovidLine(*data.loc[aux[x]])
            estrutura.inserir(dado)
            x += 1

        button1 = tk.Button(self,
                            text="Voltar",
                            command=lambda: controller.show_frame(Main))
        button1.grid(row=3, column=1, padx=5, pady=5)

        button2 = tk.Button(
            self,
            text="Imprimir na tela",
            command=lambda: controller.show_frame(P1).estrutura.visualizar())
        button2.grid(row=1, column=1, padx=5, pady=5)

        button3 = tk.Button(self,
                            text="Exportar para arquivo de texto",
                            command=lambda: controller.show_frame())
        button3.grid(row=2, column=1, padx=5, pady=5)
Пример #4
0
    def __init__(self):
        layout = [[
            sg.Button('Adicionar novo dado'),
            sg.Button('Remover item')
        ], [sg.Button('Ver dados')],
                  [sg.Button('Exportar para arquivo de texto')],
                  [sg.Button('Voltar')]]

        win = sg.Window('Opções', layout)

        event, value = win.read()
        if (event == 'Ver dados'):
            win.close()
            janela1_tel()

        elif (event == 'Adicionar novo dado'):
            dado = []

            layout = [
                [sg.Text('Por favor, informe aqui os dados:')],
                [sg.Text('Chave', size=(30, 1)),
                 sg.InputText()],
                [sg.Text('Data de Observação', size=(30, 1)),
                 sg.InputText()],
                [
                    sg.Text('Estado da Província (Se for na China)',
                            size=(30, 1)),
                    sg.InputText()
                ], [sg.Text('Região do País', size=(30, 1)),
                    sg.InputText()],
                [sg.Text('Última Atualização', size=(30, 1)),
                 sg.InputText()],
                [sg.Text('Casos confirmados', size=(30, 1)),
                 sg.InputText()],
                [sg.Text('Número de mortos', size=(30, 1)),
                 sg.InputText()],
                [
                    sg.Text('Números de recuperados', size=(30, 1)),
                    sg.InputText()
                ], [sg.Submit(), sg.Cancel()]
            ]

            window_ins = sg.Window('Dados', layout)
            event, values = window_ins.read()
            window_ins.close()

            for i in values:
                dado.append(values[i])

            aux2 = Struct.CovidLine(*dado)

            for i in values:
                dado.append(i)

            estrutura.inserir(aux2)

            win.close()
            janela1()

        elif (event == 'Remover item'):
            item = estrutura.excluir()
            pop_done = sg.popup("Removido um item 1 item da estrutura")
            win.close()
            janela1_tel()

        elif (event == 'Exportar para arquivo de texto'):
            outf = open("saida.txt", "w")
            estrutura.escrever(outf)
            sg.popup('Arquivo criado com sucesso!')
            win.close()
            janela1()

        elif (event == 'Voltar'):
            win.close()
            Main()

        elif (event == sg.WIN_CLOSED):
            win.close()
Пример #5
0
    def __init__(self):
        layout = [[
            sg.Button('Lista'),
            sg.Button('Fila'),
            sg.Button('Pilha'),
            sg.Button('Árvore'),
            sg.Button('Grafo')
        ], [sg.Button('Fechar')]]

        win = sg.Window('Projeto de ED', layout)
        event, value = win.read()
        random.shuffle(aux)
        global estrutura
        global estrutura2
        global estrutura3

        if (event == sg.WIN_CLOSED or event == 'Fechar'):
            win.close()

        elif (event == "Lista"):
            estrutura = ListaDinamica.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela_lista()

        elif (event == "Fila"):
            estrutura = Fila.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()

        elif (event == "Pilha"):
            estrutura = Pilha.CoviList()
            x = 0
            while (x < 100):
                dado = Struct.CovidLine(*data.loc[aux[x]])
                estrutura.inserir(dado)
                x += 1
            win.close()
            janela1()

        elif (event == "Árvore"):
            texto = '''Escolha a lista dos dados que irão ser escolhidos para cada árvore:
0-Somente a chave
1-Data da observação
2-Província (China)
3-País
4-Última atualização
5-Casos Confirmados
6-Número de mortos
7-Número de recuperados
            '''
            for i in range(3):
                aux2 = sg.popup_get_text(
                    message=texto,
                    title="Digite uma chave da árvore {0}:".format(i + 1))

                while (aux2 == None or aux2.isnumeric() == False
                       or not (int(aux2) in range(8))):
                    aux2 = sg.popup_get_text(
                        message=texto,
                        title="Digite uma chave da árvore {0}:".format(i + 1))

                if (i == 0):
                    estrutura = Arvore.CoviList(int(aux2))
                    x = 0
                    while (x < 100):
                        dado = Struct.CovidLine(*data.loc[aux[x]])
                        estrutura.inserir(dado)
                        x += 1

                if (i == 1):
                    estrutura2 = Arvore.CoviList(int(aux2))
                    x = 0
                    while (x < 100):
                        dado = Struct.CovidLine(*data.loc[aux[x]])
                        estrutura2.inserir(dado)
                        x += 1

                if (i == 2):
                    estrutura3 = Arvore.CoviList(int(aux2))
                    x = 0
                    while (x < 100):
                        dado = Struct.CovidLine(*data.loc[aux[x]])
                        estrutura3.inserir(dado)
                        x += 1
            win.close()
            janela_arvore()

        elif (event == 'Grafo'):
            estrutura = Grafo.Grafo()

            for node in Struct.starwars["nodes"]:
                estrutura.add_vertice(node)

            for link in Struct.starwars["links"]:
                estrutura.add_aresta(link["source"], link["target"],
                                     10.0 / link["value"])
                estrutura.add_aresta(link["target"], link["source"],
                                     10.0 / link["value"])

            win.close()
            janela_grafo()
Пример #6
0
    def __init__(self):
        layout = [[
            sg.Button('Adicionar novo dado'),
            sg.Button('Remover algum dado')
        ], [sg.Button('Ver dados')],
                  [sg.Button('Exportar para arquivo de texto')],
                  [sg.Button('Voltar')]]

        win = sg.Window('Opções', layout)

        event, value = win.read()
        print(event)
        if (event == 'Ver dados'):
            win.close()
            janela_lista_tel()

        elif (event == 'Adicionar novo dado'):
            pop = sg.popup_get_text(
                message='Digite a chave nova do dado que vai ser adicionado:')

            if (pop == None):
                win.close()
            else:
                at, prev = estrutura.buscar(int(pop))
                if at:
                    pop_error = sg.popup("A chave digitada já existe")
                else:
                    dado = []
                    dado.append(int(pop))

                    layout = [[sg.Text('Por favor, informe aqui os dados:')],
                              [
                                  sg.Text('Data de Observação', size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text(
                                      'Estado da Província (Se for na China)',
                                      size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text('Região do País', size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text('Última Atualização', size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text('Casos confirmados', size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text('Número de mortos', size=(30, 1)),
                                  sg.InputText()
                              ],
                              [
                                  sg.Text('Números de recuperados',
                                          size=(30, 1)),
                                  sg.InputText()
                              ], [sg.Submit(), sg.Cancel()]]

                    window_ins = sg.Window('Dados', layout)
                    event, values = window_ins.read()
                    window_ins.close()

                    if (event == 'Cancel'):
                        win.close()
                        janela_lista()

                    for i in values:
                        dado.append(values[i])

                    aux2 = Struct.CovidLine(*dado)

                    for i in values:
                        dado.append(i)

                    estrutura.inserir(aux2)

            win.close()
            janela_lista()

        elif (event == 'Remover algum dado'):
            pop = sg.popup_get_text(message='Digite a chave do dado desejado:')

            if (pop == None):
                win.close()
            elif (estrutura.excluir(int(pop)) == False):
                pop_error = sg.popup("A chave digitada não existe")
            else:
                pop_done = sg.popup("Chave removida com sucesso")

            win.close()
            janela_lista()

        elif (event == 'Exportar para arquivo de texto'):
            outf = open("saida.txt", "w")
            estrutura.escrever(outf)
            sg.popup('Arquivo criado com sucesso!')
            win.close()
            janela_lista()

        elif (event == 'Voltar'):
            win.close()
            Main()

        elif (event == sg.WIN_CLOSED):
            win.close()
Пример #7
0
        break

    # lê o arquivo que contem os dados e coloca numa variavel
    data = pd.read_csv("./covid_19_data.csv", header=1, na_filter=True, na_values='nan', keep_default_na=False)

    # cria um array com 11000 numeros, os misturando depois
    aux = list(range(len(data)))
    random.shuffle(aux)
    x = 0

    # faz o processo de criar uma nova struct, armazena dentro dela os dados de uma certa linha aleatória
    # de acordo com o array de numeros e os insere na lista, isso 100 vezes
    if opt == 1 or opt == 2:
        print("\033[1;33mEstrutura lida com sucesso!\033[0m")
        while (x < 100):
            dado = Struct.CovidLine(*data.loc[aux[x]])

            estrutura.inserir(dado)

            x += 1

        dig = int(input('''\033[1;37mDigite 1 para visualizar no terminal ou 2 para exportar para um arquivo de texto
Opção:\033[m '''))
        while(dig != 1 and dig != 2):
            print("\033[1;31mOPÇÃO INVALIDA\033[0m")
            dig = int(input('''\033[1;37mDigite 1 para visualizar no terminal ou 2 para exportar para um arquivo de texto
Opção:\033[m '''))

        if dig == 1:
            print("\033[1;35m")
            print(estrutura.__str__())