Next, I'm doing a program that is an academic control system. It happens that when it comes to adding teachers, for example, it is not creating new keys for teachers in the dictionary. He is simply replacing them Here are the functions to add and query:
def addProfessor(cpf, nome, departamento):
global dicProfessores
dicProfessores = {}
if cpf not in dicProfessores:
dicProfessor = {"Nome":nome, "Cpf":cpf, "Departamento":departamento}
dicProfessores[cpf] = dicProfessor
print("Professor cadastrado com sucesso.")
else:
print("Erro de cadastro.\nEste professor já está cadastrado no sistema.")
def consultarProfessor(cpf):
if cpf in dicProfessores:
dicProfessor = dicProfessores[cpf] #definindo uma variavel para a chave do dicionario de professores
for chave,elem in dicProfessor.items():
print(chave + ": " + str(elem))
else:
print("Este professor não é funcionário desta faculdade.")
Here is the code to test (it's still incomplete):
print(">>>>>>>>>>>>>BEM VINDO AO SISTEMA DE CONTROLE ACADÊMICO<<<<<<<<<<<<<<<")
print("")
print("")
print("Selecione onde você deseja fazer modificações: \n ")
print("1 - Professores\n2 - Alunos\n3 - Disciplinas\n4 - Turmas\n5 - Sair")
escolha = input("Digite o número corresponda a uma das opções: ")
if escolha == "5":
print("Fim do programa.")
break
else:
while True:
if escolha == "1":
print("O que você deseja fazer?\n ")
print("1 - Adicionar professor\n2 - Consultar professor")
print("3 - Atualizar professor\n4 - Deletar professor\n5 - Voltar\n")
escolhaP = input("Digite o número corresponda a uma das opções: ")
if escolhaP == "5":
break
else:
while True:
if escolhaP == "1":
print("\nDigite 'cancelar' para voltar.")
cpfP = input("Digite o cpf do professor: ")
if cpfP == "cancelar": break
nomeP = input("Digite o nome do professor: ")
if nomeP == "cancelar": break
departamentoP = input("Digite o departamento do professor: ")
if departamentoP == "cancelar": break
else:
addProfessor(cpfP, nomeP, departamentoP)
elif escolhaP == "2":
print("\nDigite 'cancelar' para voltar.")
cpfP = input("Digite o cpf do professor: ")
if cpfP == "cancelar".lower(): break
else:
consultarProfessor(cpfP)