Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Alguém pode me ajudar estou usando windows 10 cmd ? Tudo sai certo, só não quando vou mandar perfil1.imprimir () sai este erro abaixo.

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

class Perfil():

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

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



C:\Users\staff\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.
>>> from models import Perfil
>>> perfil1 = Perfil('Manoel Junior', 'nao informado', 'Caelum')
>>> perfil1.nome
'Manoel Junior'
>>> perfil1.telefone
'nao informado'
>>> perfil1.empresa
'Caelum'
>>> perfil1.imprimir()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "models.py", line 11, in imprimir
    print 'Nome: %s, Telefone: %s, Empresa %s' %s (self.nome, self.telefone, self.empresa)
NameError: global name 's' is not defined
>>>
1 resposta
solução!

Boa tarde. Tem um erro minúsculo no seu código . Veja a linha:

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

O correto é

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

Você adicionou um s depois do % logo após a string. Conseguiu enxergar?