Foi adicionada ao programa a funcionalidade de atualizar um elemento químico, assim como a de pesquisar por elementos através de seus símbolos e até mesmo número atômico.
Etiqueta: visualeditor
Foi adicionada ao programa a possibilidade de excluir um elemento da tabela periódica.
Etiqueta: visualeditor
Linha 1: Linha 1:
<syntaxhighlight lang="py" line="1">
<syntaxhighlight lang="py" line="1">
from tkinter import *
dicio = {"Nome" : 0, "Símbolo" : 1, "Número Atômico" : 2, "Número de Massa" : 3, 0 : "Nome", 1 : "Símbolo", 2 : "Número Atômico", 3 : "Número de Massa"}
dicio = {"Nome" : 0, "Símbolo" : 1, "Número Atômico" : 2, "Número de Massa" : 3, 0 : "Nome", 1 : "Símbolo", 2 : "Número Atômico", 3 : "Número de Massa"}


Linha 8: Linha 10:
else : lista.append(input(dicio[i] + ": ") + '\n')
else : lista.append(input(dicio[i] + ": ") + '\n')
return lista
return lista
def show(elemento) :
jan = Tk()
jan.title(elemento[0])
jan["bg"] = "lightgreen"
jan.geometry("300x200+500+250")
for i in range(4) :
#print(dicio[i] + ": " + elemento[i])
Label(jan, text = dicio[i] + ": " + elemento[i], bg = jan["bg"], font = ("Arial", 14)).pack()
bt = Button(jan, text = "Fechar", command = jan.destroy).pack()
jan.mainloop()
def create() :
def create() :
Linha 24: Linha 37:
lista = linha.split()
lista = linha.split()
flag = False
flag = False
cont = 0;
for x in lista :
for x in lista :
if cont == 3 : break
if x == nome :
if x == nome :
flag = True
flag = True
break
break
cont += 1
if flag == True :
if flag == True :
print(lista)
show(lista)
break
break
else :
else :
Linha 37: Linha 53:
arquivo.close()
arquivo.close()
create()
create()
arquivo.close()
arquivo.close()


Linha 45: Linha 60:
arquivo.close()
arquivo.close()
arquivo = open('dados.txt', 'w')
arquivo = open('dados.txt', 'w')
cont = 0
flag = False
flag = False
for linha in texto :
for linha in texto :
lista = linha.split()
lista = linha.split()
flag1 = False
flag1 = False
cont = 0
for x in lista :
for x in lista :
if cont == 3 : break
if x == nome :
if x == nome :
flag = flag1 = True
flag = flag1 = True
break
break
cont += 1
if flag1 == True :
if flag1 == True :
print("Esta é a atual descrição do elemento que você deseja atualizar:")
print("Esta é a atual descrição do elemento que você deseja atualizar:")
print(lista)
show(lista)
print("Informe as novas informações")
lista = read()
lista = read()
arquivo.writelines(lista)
arquivo.writelines(lista)
Linha 68: Linha 86:
arquivo.close()
arquivo.close()
create()
create()
def delete(nome) :
arquivo = open('dados.txt', 'r')
texto = arquivo.readlines();
arquivo.close()
arquivo = open('dados.txt', 'w')
cont = 0
flag = False
deleted = []
for linha in texto :
lista = linha.split()
flag1 = False
cont = 0
for x in lista :
if cont == 3 : break
if x == nome :
flag = flag1 = True
break
cont += 1
if flag1 == False:
arquivo.writelines(linha)
else : deleted = lista
cont += 1
print("O elemento deletado foi: " + deleted[0])


acao = input("O que deseja fazer? ")
acao = input("O que deseja fazer? ")
if acao == "criar" : create()
while (acao != "Parar") :
elif acao == "atualizar" : update(input())
if acao == "criar" : create()
else :
elif acao == "atualizar" : update(input("Dê uma característica única do elemento que deseja atualizar: "))
nome = input("Dê o nome do elemento o qual deseja conhecer: ")
elif acao == "deletar" : delete(input("Dê uma característica única do elemento que deseja deletar: "))
recover(nome)
else :
nome = input("Dê uma característica única do elemento o qual deseja conhecer: ")
recover(nome)
acao = input("O que deseja fazer? ")
</syntaxhighlight>
</syntaxhighlight>

Edição das 21h43min de 15 de junho de 2017

<syntaxhighlight lang="py" line="1"> from tkinter import *

dicio = {"Nome" : 0, "Símbolo" : 1, "Número Atômico" : 2, "Número de Massa" : 3, 0 : "Nome", 1 : "Símbolo", 2 : "Número Atômico", 3 : "Número de Massa"}

def read() : lista = [] for i in range(4) : if i < 3 : lista.append(input(dicio[i] + ": ") + ' ') else : lista.append(input(dicio[i] + ": ") + '\n') return lista

def show(elemento) : jan = Tk() jan.title(elemento[0]) jan["bg"] = "lightgreen" jan.geometry("300x200+500+250") for i in range(4) : #print(dicio[i] + ": " + elemento[i]) Label(jan, text = dicio[i] + ": " + elemento[i], bg = jan["bg"], font = ("Arial", 14)).pack() bt = Button(jan, text = "Fechar", command = jan.destroy).pack() jan.mainloop()

def create() : print("Digite a senha para poder cirar: ") while input() != "querocriar123" : print("Senha incorreta") elemento = read() arquivo = open('dados.txt', 'a') #alterar isso pra 'a' arquivo.writelines(elemento) arquivo.close()

def recover(nome) : arquivo = open('dados.txt', 'r') texto = arquivo.readlines(); for linha in texto : lista = linha.split() flag = False cont = 0; for x in lista : if cont == 3 : break if x == nome : flag = True break cont += 1 if flag == True : show(lista) break else : print("Elemento não encontrado") ans = input("Deseja criar esse elemento? ") if ans == "sim" : arquivo.close() create() arquivo.close()

def update(nome) : arquivo = open('dados.txt', 'r') texto = arquivo.readlines(); arquivo.close() arquivo = open('dados.txt', 'w') flag = False for linha in texto : lista = linha.split() flag1 = False cont = 0 for x in lista : if cont == 3 : break if x == nome : flag = flag1 = True break cont += 1 if flag1 == True : print("Esta é a atual descrição do elemento que você deseja atualizar:") show(lista) print("Informe as novas informações") lista = read() arquivo.writelines(lista) else : arquivo.writelines(linha) cont += 1 if flag == False : print("Elemento não encontrado") ans = input("Deseja criar esse elemento? ") if ans == "sim" : arquivo.close() create()

def delete(nome) : arquivo = open('dados.txt', 'r') texto = arquivo.readlines(); arquivo.close() arquivo = open('dados.txt', 'w') cont = 0 flag = False deleted = [] for linha in texto : lista = linha.split() flag1 = False cont = 0 for x in lista : if cont == 3 : break if x == nome : flag = flag1 = True break cont += 1 if flag1 == False: arquivo.writelines(linha) else : deleted = lista cont += 1 print("O elemento deletado foi: " + deleted[0])

acao = input("O que deseja fazer? ") while (acao != "Parar") : if acao == "criar" : create() elif acao == "atualizar" : update(input("Dê uma característica única do elemento que deseja atualizar: ")) elif acao == "deletar" : delete(input("Dê uma característica única do elemento que deseja deletar: ")) else : nome = input("Dê uma característica única do elemento o qual deseja conhecer: ") recover(nome) acao = input("O que deseja fazer? ") </syntaxhighlight>