UnboundLocalError: local variable 'print' referenced before assignment

11 views
Skip to first unread message

wallance filippe

unread,
Jul 23, 2020, 3:40:35 PM7/23/20
to PUG-MG
Alguém pode me ajudar? Aparece o erro quando seleciono a opção 5

def existe_contato(lista, email):

if len(lista) > 0:
for contato in lista:
if contato['email'] == email:
return True

return False

def adicionar(lista):

while True:
email = input("Digite o e-mail do contato: ")

if not existe_contato(lista, email):
break
else:
print("Esse e-mail já foi utilizado.")
print("Por favor tente outro e-mail.")

#a partir daqui, o e-mail recebido será único

contato = {
"email": email,
"nome": input("Digite o nome: "),
"tel": input("Digite o número: ")
}

lista.append(contato)

print("O contato {} foi cadastrado com sucesso\n".format(contato['nome']))

def alterar():
pass

def excluir():
pass

def buscar():
pass

def listar(lista):
print(" == Listar Contatos == ")
if len(lista) > 0:
for i, contato in enumerate(lista):
print =("Contato {}:".format(i+1))
print("\tNome: {}".format(contato['nome']))
print("\tEmail: {}".format(contato['email']))
print("\tTelefone: {}".format(contato['tel']))
print("=============================================")

print("Quantidade de contatos: {}\n".format(len(lista)))
else:
print("Não existe nenhum contato cadastrado no sistema.\n")

def principal():

lista = [] #inicializando a lista vazia

while True:
print(" === Agenda Telefônica ===")
print(" 1 - Adicionar contato")
print(" 2 - Alterar contato")
print(" 3 - Excluir contato")
print(" 4 - Buscar contato")
print(" 5 - Listar contatos")
print(" 6 - Sair")
opção = int(input("> "))

if opção == 1:
adicionar(lista)
elif opção == 2:
alterar()
elif opção == 3:
excluir()
elif opção == 4:
buscar()
elif opção == 5:
listar(lista)
elif opção == 6:
print("Saindo do programa...")
break
else:
print("Opção inválida. Por favor, tente novamente.")

principal()

Gustavo Pantuza

unread,
Jul 23, 2020, 4:01:35 PM7/23/20
to pyth...@googlegroups.com
Oi, Wallace. 

Acredito que você sobrescreveu a função print sem querer. Você está fazendo uma atribuição:

 print =("Contato {}:".format(i+1))

Tire este igual que seu código deve funcionar. 

Abraços





--

---
Você recebeu essa mensagem porque está inscrito no grupo "PUG-MG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-mg+...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-mg/c4ea4b5a-f294-491a-ab2a-83ff8ba07bc1o%40googlegroups.com.


--
Reply all
Reply to author
Forward
0 new messages