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

problema para importar

# -*- coding: UTF-8 -*-

class Perfil(object):
    'Classe padrão para perfis de usuários'
    def __init__(self, nome, telefone, empresa):
        self.nome = nome
        self.telefone = telefone
        self.empresa = empresa
        self.__curtidas = 0

    def imprimir(self):
        print 'Nome: %s, Telefone: %s, Empresa: %s' % (self.nome, self.telefone, self.empresa)

    def curtir(self):
        self.__curtidas+=1

    def obter_curtidas(self):
        return self.__curtidas

    @staticmethod
    def gerar_perfis(nome_arquivo):
        arquivo = open(nome_arquivo,'r')
        perfis = []
        for linha in arquivo:
            valores = linha.split(',')
            perfis.append(Perfil(*valores))
        arquivo.close()
        return perfis

class Perfil_Vip(Perfil):

    def __init__(self, nome, telefone, empresa, apelido):
        super(Perfil_Vip, self).__init__(nome, telefone, empresa)
        self.apelido = apelido

    def obter_creditos(self):
        return super(Perfil_Vip, self).obter_curtidas() * 10.0
>>> from models import *
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "models.py", line 21
    def gerar_perfis(nome_arquivo):
                                  ^
IndentationError: unindent does not match any outer indentation level

Eu realmente nao sei pq tá dando isso, já revisei o código e não vai... O que eu tô deixando passar?

4 respostas

Guilherme,

Na minha maquina esta funcionando perfeitamente, o problema é de indentação na linha 21. Teste em outro editor, vc pode usar o notepad++ ou Atom.

solução!

Acabei de tentar, já reescrevi o código e não funcionou. Acho que vou reinstalar o Python para ver se funciona...

Guilherme,

Não acho que vá resolver, o seu código esta funcionando tanto no Windows, enquanto no Linux(Ubuntu 16.04) testei no dois, verifiquei o código em outro editor salve o arquivo e teste com o python. De preferência com o python2.7

Fui em outra maquina, reescrevi o código e rodou, ai coloquei esse código na minha maquina de casa e foi. Que estranho, será que foi o meu sublime q bugou? Ou eu que tava fazendo besteira e não vi alguma coisa.

Mas muito obrigado pela atenção pessoal!!