Usando exemplo das aulas de Python, este é código:
# -*- coding: utf-8 -*-
#arquivo app.py
import re
def cadastrar(nomes):
print 'Digite o nome:'
nome = raw_input()
nomes.append(nome)
def remover(nomes):
print 'Qual nome você gostaria de remover?'
nome = raw_input()
nomes.remove(nome)
def alterar(nomes):
print 'Qual nome você gostaria de alterar?'
alterar_nome = raw_input()
if (alterar_nome in nomes):
posicao = nomes.index(alterar_nome)
print 'Digite o novo nome'
novo_nome = raw_input()
nomes[posicao] = novo_nome
else:
print 'Nome não existe'
def procurar(nomes):
print 'Digite o nome a procurar:'
nome = raw_input()
if(nome in nomes):
print "Nome %s está cadastrado" % (nome)
else:
print "Nome %s não está cadastrado" % (nome)
def procurar_regex(nomes):
print 'Digite a expressão regular'
regex = raw_input()
nomes_concatenados = ''.join(nomes)
resultados = re.findall(regex, nomes_concatenados)
print(resultados)
def listar(nomes):
print 'Listando nomes:'
for nome in nomes:
print nome
def menu():
nomes = []
escolha = ''
while(escolha != '0'):
print 'Digite 1 para cadastrar, 2 para listar, 3 para remover, 4 para alterar, 5 procurar nome, 6 expressão regular, 0 para terminar'
escolha = raw_input()
if(escolha == '1'):
cadastrar(nomes)
if(escolha == '2'):
listar(nomes)
if(escolha == '3'):
remover(nomes)
if(escolha == '4'):
alterar(nomes)
if(escolha == '5'):
procurar(nomes)
if(escolha == '6'):
procurar_regex(nomes)
menu()
No caso quando entro com o nome para cadastrar, se for um nome "João" e depois listar ele, este retorna normal no console escrito "João", mas o que está escrito dentro do arquivo .py, por exemplo:
def procurar(nomes):
print 'Digite o nome a procurar:'
nome = raw_input()
if(nome in nomes):
print "Nome %s está cadastrado" % (nome)
else:
print "Nome %s não está cadastrado" % (nome)
O que está dentro do print "está" ou "não" tem o retorno sem acentuação no console, do estilo "n'-|'o" para ser bem exato.