2
respostas

Quando vou import para o python nada acontece

# -*- coding: UTF-8 -*-
import re

def cadastrar(nomes):
    print'Digite o nome:'
    nome = raw_input()
    nomes.append(nome)

def listar(nomes):
    print'Listando nomes'
    for nome in nomes:
        print nomes

def remover(nomes):
    print'Qual nome deseja remover?'
    nome_remover = raw_input()
    removido = 0
    for nomes in nome 
        if (nomes == nome_remover)
        nomes.remove(nome)
        print ' O nome %s foi removido' % (nome)
        removido = 1

def alterar(nomes):
    print("Qual nome deseja alterar")
    nome_a_alterar = raw_input()

    if(nome_a_alterar in nomes):
         posicao = nomes.index(nome_a_alterar)
         print("Digite o novo nome:")
         nome_novo = raw_input()
         nomes[posicao] = nome_novo

def procurar(nomes):
    print 'Qual nome quer procurar?'
    nome_procurar = raw_input()

    if (nome_procurar in nomes):
        print 'O nome esta na lista'
    else:
        print 'O nome nao esta na lista'

def menu():
    nomes = []
    escolha = ''

    while(escolha != '0'):    
        print 'Digite: 1 para cadastrar, 2 para listar, 3 para remover, 4 para alterar, 5 para procurar, 0 para terminar'
        escolha = raw_input()

        if(escolha == '1'):
            cadastrar(nomes)

        elif(escolha == '2'):
            listar(nomes)   

        elif(escolha == '3'):
            remover(nomes)

        elif(escolha == '4'):
            alterar(nomes)

        elif(escolha == '5'):
            procurar(nomes)
menu()
2 respostas

Microsoft Windows [Version 10.0.18362.836] (c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\Guto Rother>cd desktop\python

C:\Users\Guto Rother\Desktop\python>python Python 2.7.9 (default, Dec 10 2014, 12:28:03) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.

import re from procura import* Traceback (most recent call last): File "", line 1, in File "procura.py", line 19 for nomes in nome ^ SyntaxError: invalid syntax

Oi Luisa, tudo bem com você?

O erro acontece na função remover:

def remover(nomes):
    print'Qual nome deseja remover?'
    nome_remover = raw_input()
    removido = 0
    for nomes in nome 
        if (nomes == nome_remover)
        nomes.remove(nome)
        print ' O nome %s foi removido' % (nome)
        removido = 1
  • É necessário dois pontos após a instrução do for e do if.
  • No laço for, você faz:
for nomes in nome 

Porém, nomes é a lista passada como parâmetro, portanto é essa lista que o for irá percorrer. A ideia deste for é algo como:

for variavel in lista_de_parametros

E no caso, a lista de parâmetros é a variável nomes e não nome.

  • Outro ponto é a indentação ou seja, os recuos do código também são importantes, pois eles nos dizem qual bloco de código está dentro de outro e nesse caso, na sua instrução if, não há esse recuo para removermos o nome.

Dito isso, fazendo as devidas correções citadas acima o código fica assim:

def remover(nomes):
    print'Qual nome deseja remover?'
    nome_remover = raw_input()
    removido = 0
    for nome in nomes: 
        if (nome == nome_remover):
            nomes.remove(nome)
            print ' O nome %s foi removido' % (nome)
            removido = 1

Fico à disposição para qualquer dúvida. Abraços e bons estudos!