Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
- # Agenda por: Matheus Vieira
- # Linguagem: Python
- # -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
- # Primeiramente foi criado uma lista VAZIA que será o formato que será o formato que iremos salvar os contatos.
- agenda = []
- #-----------------------------------------------------
- # Inicio funções
- #-----------------------------------------------------
- def pede_nome():
- return(input("Nome: "))
- def pede_telefone():
- return(input("Telefone: "))
- def mostra_dados(nome, telefone):
- print("Nome: %s Telefone: %s" % (nome, telefone))
- def pede_nome_arquivo():
- return(input("Nome do arquivo: "))
- def pesquisa(nome):
- mnome = nome.lower()
- for p, e in enumerate(agenda):
- if e[0].lower() == mnome:
- return p
- return None
- def novo():
- global agenda
- nome = pede_nome()
- telefone = pede_telefone()
- agenda.append([nome, telefone])
- def apaga():
- global agenda
- nome = pede_nome()
- p = pesquisa(nome)
- if p != None:
- del agenda[p]
- else:
- print("Nome não encontrado.")
- def altera():
- p = pesquisa(pede_nome())
- if p != None:
- nome = agenda[p][0]
- telefone = agenda[p][1]
- print("Encontrado:")
- mostra_dados(nome, telefone)
- nome = pede_nome()
- telefone = pede_telefone()
- agenda[p] = [nome, telefone]
- else:
- print("Nome não encontrado.")
- def lista():
- print("\nAgenda\n\n------")
- for e in agenda:
- mostra_dados(e[0], e[1])
- print("------\n")
- def lê():
- global agenda
- nome_arquivo = pede_nome_arquivo()
- arquivo = open(nome_arquivo, "r", encoding = "utf-8")
- agenda = []
- for l in arquivo.readlines():
- nome, telefone = l.strip().split("#")
- agenda.append([nome, telefone])
- arquivo.close()
- def grava():
- nome_arquivo = pede_nome_arquivo()
- arquivo = open(nome_arquivo, "w", encoding = "utf-8")
- for e in agenda:
- arquivo.write("Nome: %s Telefone: %s\n" % (e[0], e[1]))
- arquivo.close()
- def valida_faixa_inteiro(pergunta, inicio, fim):
- while True:
- try:
- valor = int(input(pergunta))
- if inicio <= valor <= fim:
- return(valor)
- except ValueError:
- print("Valor inválido, favor digitar entre %d e %d" % (inicio, fim))
- #-----------------------------------------------------
- # Fim funções
- #-----------------------------------------------------
- # Função para criar um menu
- def menu():
- print("""
- 1 - Novo
- 2 - Altera
- 3 - Apaga
- 4 - Lista
- 5 - Grava
- 6 - Lê
- 0 - Sai
- """)
- return valida_faixa_inteiro("Escolha uma opção: ",0,6)
- # Fim menu
- # Inicio estrutura condicional
- while True:
- opção = menu()
- if opção == 0:
- break
- # Se(if) opção for igual a 0, no caso se eu digitar 0 ele vai dar um break, encerrando nosso loop em EWH
- elif opção == 1:
- novo()
- # Se(if) opção for igual a 1, no caso se eu digitar 1 ele vai chamar a função "NOVO"
- elif opção == 2:
- altera()
- # Se(if) opção for igual a 2, no caso se eu digitar 2 ele vai chamar a função "ALTERA"
- elif opção == 3:
- apaga()
- # Se(if) opção for igual a 3, no caso se eu digitar 3 ele vai chamar a função "APAGA"
- elif opção == 4:
- lista()
- # Se(if) opção for igual a 4, no caso se eu digitar 4 ele vai chamar a função "LISTA"
- elif opção == 5:
- grava()
- # Se(if) opção for igual a 5, no caso se eu digitar 5 ele vai chamar a função "GRAVA"
- elif opção == 6:
- lê()
- # Se(if) opção for igual a 6, no caso se eu digitar 6 ele vai chamar a função "LÊ"
- # Fim estrutura condicional
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement