Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Programa funciona, mas aparece mensagem de erro

O programa funciona, grava os nomes, lista os nomes, mas quando aperto 0 para fechar, ele aparece a seguinte mensagem antes de executar a ação:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named py

Segue o código da função:

# -*- coding: UTF-8 -*-
def listar(nomes):
    print 'Listando nomes:'
    for nome in nomes:
            print nome

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

def menu():
    nomes = []
    escolha = ''
    while(escolha != '0'):
        print 'Digite 1 para cadastrar, 2 para listar e 0 para terminar'
        escolha = raw_input()

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

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

menu()

Fiquei com essa curiosidade, desde já agradeço!

6 respostas

Leandro, eu fiquei também. Peguei seu código como esta e testei aqui e quando digito 0 ele termina de boa, sem mensagem nenhuma.

Como você esta chamando o programa no terminal?

Estou chamando a função da seguinte maneira:

from app.py import *

Testei de 2 formas, a 1ª foi abrindo diretamente o o console python.exe que vem junto com o download do Python , a 2ª foi abrindo prompt do windows e navegando até o diretório e executando o console através dos comandos de navegação:

cd Desktop
    cd Python
        python

No prompt de comando basta entrar no diretório do arquivo e fazer:

python app.py
solução!

Testou como pedi? E ai?

Sim funcionou! Muito obrigado! :)

Excelente! Bom estudo meu aluno!