2
respostas

Preciso de ajuda! Com urgência, se possível!

Meu código está da seguinte forma:

    class Programa:
        def __init__(self, nome, ano):
            self._nome = nome.title()
            self.ano = ano
            self._like = 0

        @property
        def likes(self):
            return self._likes

        def dar_likes(self):
            self._likes += 1

        @property
        def nome(self):
            return self._nome

        @nome.setter
        def nome(self, novo_nome):
            self._nome = novo_nome.title()




    class Filme(Programa):
        def __init__(self,nome, ano, duracao):
            self._nome = nome.title()
            self.ano = ano
            self.duracao = duracao
            self._likes = 0

    class Serie(Programa):
        def __init__(self, nome, ano, temporadas):
            self._nome = nome.title()
            self.ano = ano
            self.temporadas = temporadas
            self._likes = 0

            pass


    vingadores= Filme ('vingadores- guerra infinita', 2018, 160)

    vingadores.dar_likes()
    vingadores.dar_likes()
    print(f'Nome:{vingadores.nome} - Ano:{vingadores.ano} - Duração:{vingadores.duracao} - Likes:{vingadores.likes}')


    atlanta = Serie ('atlanta', 2018, 2)

    atlanta.dar_likes()
    atlanta.dar_likes()


print(f'Nome:{atlanta.nome} - Ano:{atlanta.ano} - Temporadas:{atlanta.temporadas} - Likes:{atlanta.likes}')

Os erros que estão aparecendo são esses: Unexpected indent : 1 Statement expected, found Py:DEDENT : 52

Onde no 1º erro seria a "class Programa" E o 2º erro seria no "atlanta.dar_likes()"

O que estou fazendo de errado? É algum erro de identação? Obrigado desde já!!

2 respostas

Olá Pedro, tudo certo?

Em primeiro lugar há um erro de indentação sim no codigo. Como o python é uma linguagem que depende da indentacao para funcionar corretamente, havendo erros de indentacao o codigo não consegue rodar da forma esperada. A unica linha que esta indentada correta é a ultima, pois ela nao possui tabulacoes anteriores a ela. Para corrigir o resto do codigo voce deve retirar uma tabulação de todo o codigo, exceto da ultima linha pois ela esta correta, para que ele fique alinhado à esquerda.

E o segundo erro esta relacionado com o nome do atributo likes. No inicializador da classe Programa voce declara ela sendo self.like = 0 no singular. E nos metodos ela esta escrita no plural. O que acontece é que quando voce chama o metodo darlikes ele tenta alterar o atributo "self.likes", sendo que o existente é o "self.like". Ai para corrigir é da sua preferencia se voce quer deixar todos no plural ou todos no singular, mas mantenha o padrao em todo o seu codigo.

Caso queria uma leitura auxiliar deixo estes links:

Espero ter ajudado, abraços.

No seu primeiro erro você inicia a classe Programas depois de acrescentar um espaço na primeira linha e adota o mesmo comportamento até a ultima linha do seu código onde vc escreve o print sem dar espaço, este é oseu erro de endentação e no segundo erro a palavra like aparece no singular em sua classe Programa e no plural em todo o resto do seu código.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software