Escreva um programa para armazenar uma agenda de telefones em um dicionário. Cada pessoa pode ter um ou mais telefones e a chave do dicionário é o nome da pessoa. Seu programa deve ter as seguintes funções:
- incluirNovoNome – essa função acrescenta um novo nome na agenda, com um ou mais telefones. Ela deve receber como argumentos o nome e os telefones.
- incluirTelefone – essa função acrescenta um telefone em um nome existente na agenda. Caso o nome não exista na agenda, você deve perguntar se a pessoa deseja incluí-lo. Caso a resposta seja afirmativa, use a função anterior para incluir o novo nome.
- excluirTelefone – essa função exclui um telefone de uma pessoa que já está na agenda. Se a pessoa tiver apenas um telefone, ela deve ser excluída da agenda.
- excluirNome – essa função exclui uma pessoa da agenda.
- consultarTelefone – essa função retorna os telefones de uma pessoa na agenda.
Passo 1
Fala aí, doido! A gente precisa fazer um montão de função pra resolver essa questão aqui, mas relaxa. A próxima vai ser pior!
Mas bora fazer uma de cada vez. E repara que a doida não falou pra gente fazer nada com as funções, só criar mesmo… E nós, como bons gados de professor, vamos fazer só o que foi pedido! Bora começar pela função incluirNovoNome(); mas como nenhuma das funções recebe o dicionário como parâmetro, a gente vai ter que usar variável global…
Olha! A gente recebe o nome (String) e os números (uma lista) e cria o par key-value no dicionário. E só! Uma linha de função… Partiu criar a próxima!
Passo 2
Pô, a próxima função insere um número em uma key já criada. A gente precisa, também, verificar se essa key já foi criada (com o operador in), e se não, a gente cria com a função anterior. Se liga:
Não esquece que a gente tá guardando nos valores, listas de números. Então, quando a gente quer acrescentar um novo número, a gente usa o método de lista append(). Bora pra próxima!
Passo 3
Bora escrever a função excluirNome dessa vez. Essa função recebe o nome do indivíduo e exclui ele do dicionário. Mas, antes de deletar, a gente precisa checar se existe. Nossa função vai ficar com esse cara:
E pronto! Se aquele nome realmente existir no dicionario, a gente deleta ele. Partiu fazer a próxima função...
Passo 4
Pra fazer a função excluirTelefone, a gente pode usar a outra função que a gente criou pra deletar o contato também...
Primeiro a gente tá checando se o nome existe na agenda. Se existe, a gente confere se o telefone que recebemos pra apagar também se encontra lá na lista de números. Se tiver, a gente deleta esse telefone.
Por último, se o contato estiver sem nenhum número registrado, a gente pode deletar o nome (com a outra função que criamos, inclusive).
Passo 5
Por último, a gente precisa da função que retorna os números de uma certa pessoa. Pra isso, primeiro a gente verifica se esse contato existe, e depois retorna sua lista de números…
E pronto! Finalizamos o exercício, doido!