Jump to content

Coghi000

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Coghi000

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Coghi000

    Exercício Dificl

    Boa tarde, preciso de ajuda para terminar este exercicio, o que acontece nele, é que quando ele roda a função ministra da classe Professor, ele ve se a soma da carga horário é maior que 200, o correto era ele não adicionar mais la lista disciplinas assim que passa-se de 200, mas ao invés disso e ele está adicionando mesmo passando da carga horaria, não estou conseguindo resolver =/, alguem pode dar uma força. class Disciplina(): ''' Abstração de uma disciplinai, possui os atributos Nome e carga Horária ''' def __init__(self, nome: str, carga_horaria: int) -> None: self._nome = nome self._carga_horaria = carga_horaria def get_nome(self) -> str: ''' Acessor do atributo nome ''' return self._nome def get_carga_horaria(self) -> int: ''' Acessor do atributo cargar horaria ''' return self._carga_horaria class Pessoa(): ''' Abstração de uma pessoa no Modelo, classe base para Aluno e Professor que contém dados pertencentes a ambos. ''' def __init__(self, nome: str, telefone: int, email: float) -> None: self._nome = nome self._telefone = telefone self._email = email def get_nome(self) -> str: ''' Acessor do atributo Nome ''' return self._nome def get_telefone(self) -> int: ''' Acessor do atributo telefone ''' return self._telefone def set_telefone(self, novo_telefone: int) -> None: ''' Mutador do atributo telefone deve checar se é um número inteiro e, caso contrário devolver um TypeError ''' if type(novo_telefone) not in [int]: raise TypeError('Numero invalido') self._telefone = novo_telefone def get_email(self) -> str: ''' Acessor do atributo email ''' return self._email def set_email(self, novo_email) -> None: ''' Mutador do atributo eail, deve checar se éum email válido (se possuir o caractere '@') e caso contrário devolver um ValueError ''' if novo_email.count('@') == 0 or novo_email.count('@') > 1: raise ValueError('E-mail invalido') self._email = novo_email class Aluno(Pessoa): def __init__(self, nome: str, telefone: int, email: str, n_matricula: int) -> None: super().__init__(nome, telefone, email) self._n_matricula = n_matricula self._disciplinas = [] def get_matricula(self) -> int: ''' Acessor do atributo matricula ''' return self._n_matricula def matricular(self, disciplina: Disciplina) -> None: ''' Realiza matrícula do Aluno na disciplina ''' self._disciplinas.append(disciplina) return None def lista_disciplinas(self) -> list: ''' Devolve a lista de disciplinas em que o aluno esta matriculado ''' return self._disciplinas class Professor(Pessoa): ''' Entidade professor do Modelo ''' def __init__(self, nome, telefone, email): self._nome = nome self._telefone = telefone self._email = email self._disciplinas = [] def ministra(self, disciplina: Disciplina) -> None: ''' Atribui o professor como ministrante da disiciplina Um professor não pode dar mais de 200 horas de aula, Caso um professor tente atribuir mais de 200h devolve ValueError ''' horas = [] horas.append(disciplina._carga_horaria) soma = 0 for item in horas: print(item) soma = item + item if soma > 200: return ValueError else: self._disciplinas.append(disciplina) return None def lista_disciplinas(self) -> list: ''' lista as disciplinas ministradas pelo professor ''' pass
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.