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

Um Problema Aqui

class Funcionario:
    def registra_horas(self, horas):
        print('Horas registradas...')

    def mostrar_tarefas(self):
        print('Fez muita coisa...')

class Caelum(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Caelumer')

    def busca_cursos_do_mes(self, mes=None):
        print(f'Mostrando cursos - {mes}' if mes else 'Mostrando cursos desse mês')

class Alura(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Alurete!')

    def busca_perguntas_sem_resposta(self):
        print('Mostrando perguntas não respondidas do fórum')

        class Junior(Alura):
            pass

        class Pleno(Alura, Caelum):
            pass


    jose = Junior()
    jose.busca_perguntas_sem_resposta()
    jose.busca_cursos_do_mes()

no entanto:

Traceback (most recent call last):
  File "C:\Users\Meg\PycharmProjects\pythonProject\python3oo2\werr.py", line 15, in <module>
    class Alura(Funcionario):
  File "C:\Users\Meg\PycharmProjects\pythonProject\python3oo2\werr.py", line 29, in Alura
    jose = Junior()
NameError: name 'Junior' is not defined

Process finished with exit code 1

ele diz que Junior não está definido!, o que poderia ser isso? além do mais como o professor conseguiu rodar o programa em herança Múltipla?

Desde Já Agradeço. :)

2 respostas
solução!

As indentações das classes Junior, Pleno e no final do código estão incorretas.

Código corrigido:

class Funcionario:
    def registra_horas(self, horas):
        print('Horas registradas...')

    def mostrar_tarefas(self):
        print('Fez muita coisa...')

class Caelum(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Caelumer')

    def busca_cursos_do_mes(self, mes=None):
        print(f'Mostrando cursos - {mes}' if mes else 'Mostrando cursos desse mês')

class Alura(Funcionario):
    def mostrar_tarefas(self):
        print('Fez muita coisa, Alurete!')

    def busca_perguntas_sem_resposta(self):
        print('Mostrando perguntas não respondidas do fórum')

class Junior(Alura):
    pass

class Pleno(Alura, Caelum):
    pass

jose = Junior()
jose.busca_perguntas_sem_resposta()
jose.busca_cursos_do_mes()

A indentação é um detalhe muito importante quando se está estudando Python.

Espero ter ajudado, até a próxima.

Obrigado!

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