Tudo Junto
Parte da seção Logic & Flow do Journey de Python da Coddy — lição 23 de 78.
Desafio
FácilAgora que você construiu todas as funções individuais para a Agenda de Contatos, é hora de juntá-las para criar o programa completo!
Sua Tarefa:
- Combine as funções que você criou:
display_menu: Exibe as opções do menu para o usuário.add_contact: Adiciona um novo contato à Agenda de Contatos.view_contact: Exibe os detalhes de um contato específico.edit_contact: Atualiza as informações de um contato existente.delete_contact: Remove um contato da Agenda de Contatos.list_all_contacts: Exibe todos os contatos na Agenda de Contatos.
- Crie um dicionário chamado
contact_bookpara armazenar os contatos. - Escreva um loop que:
- Exiba o menu usando
display_menu. - Aceite a entrada do usuário para a escolha do menu.
- Chame a função apropriada com base na escolha do usuário.
- Imprima
Invalid choice. Please try again.se o usuário inserir uma escolha que não seja uma das opções válidas do menu. - Continue até que o usuário selecione a opção para sair do programa.
- Exiba o menu usando
Comportamento Esperado:
Quando você executar o programa, ele deve:
- Mostrar um menu de opções para o usuário escolher.
- Permitir que o usuário interaja com a Agenda de Contatos chamando a função apropriada.
- Imprimir Invalid choice. Please try again. quando o usuário inserir uma opção não reconhecida.
- Sair do programa de forma limpa quando o usuário selecionar a opção "Exit".
Esta etapa final combina todo o conhecimento que você adquiriu em um aplicativo de Agenda de Contatos totalmente funcional. Aproveite para ver seu trabalho árduo se concretizar! 🎉
Experimente você mesmo
def display_menu():
print("Contact Book Menu:")
print("1. Add Contact")
print("2. View Contact")
print("3. Edit Contact")
print("4. Delete Contact")
print("5. List All Contacts")
print("6. Exit")
def add_contact(contact_book):
name = input()
if name in contact_book:
print("Contact already exists!")
return
phone = input()
email = input()
address = input()
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact added successfully!")
def view_contact(contact_book):
name = input()
if name in contact_book:
contact = contact_book[name]
print(f"Name: {name}")
print(f"Phone: {contact['phone']}")
print(f"Email: {contact['email']}")
print(f"Address: {contact['address']}")
else:
print("Contact not found!")
def edit_contact(contact_book):
name = input()
if name in contact_book:
phone = input()
email = input()
address = input()
if phone == '':
phone = contact_book[name]['phone']
if email == '':
email = contact_book[name]['email']
if address == '':
address = contact_book[name]['address']
contact_book[name] = {"phone": phone, "email": email, "address": address}
print("Contact updated successfully!")
else:
print("Contact not found!")
def delete_contact(contact_book):
name = input()
if name in contact_book:
del contact_book[name]
print("Contact deleted successfully!")
else:
print("Contact not found!")
def list_all_contacts(contact_book):
if not contact_book:
print("No contacts available.")
else:
for name, details in contact_book.items():
print(f"Name: {name}")
print(f"Phone: {details['phone']}")
print(f"Email: {details['email']}")
print(f"Address: {details['address']}")
print() # Blank line between contacts for readability
Todas as lições de Logic & Flow
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary Sorter