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 : | ||
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') | ||
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( | 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: ")) | ||
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> | </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>