When trying to create a simple code in Python and I came across the following error in the method of calculating salary
TypeError: CalculateSalary () missing 1 required positional argument: 'Title'
class Professores():
ID = 0
Nome = "João Das Neves Negras"
Titulo = "dr"
Formacao = "Cientista da computação"
DataNascimento = "22/09/1998"
Email = "[email protected]"
NumDisciplinas = 10
def pegarID(self):
return self.ID
def pegarNome(self):
return self.Nome
def pegarTitulo(self):
return self.Titulo
def pegarFormacao(self):
return self.Formacao
def pegarDataNascimento(self):
return self.DataNascimento
def pegarEmail(self):
return self.Email
def pegarNumDisciplinas(self):
return self.NumDisciplinas
def DefinirID(self, id):
self.ID = id
def DefinirNome(self, nome):
self.Nome = nome
def DefinirTitulo(self, Titulo):
self.Titulo = Titulo
def DefinirFormacao(self, Formacao):
self.Formacao = Formacao
def DefinirDataNascimento(self, DataNascimento):
self.DataNascimento = DataNascimento
def DefinirEmail(self, Email):
self.Email = Email
def DefinirNumDisciplinas(self, NumDisciplinas):
self.NumDisciplinas = NumDisciplinas
def CalcularSalario(self):
salario = (400 * self.NumDisciplinas)
if(self.Titulo == "me"):
return salario + salario*0.3
if(self.titulo == "dr"):
return salario + salario*0.5
else:
return salario
prof = Professores()
prof.DefinirID(1)
print('ID: {}'.format(prof.pegarID()))
print('Nome: {}'.format(prof.pegarNome()))
print('Titulo: {}'.format(prof.pegarTitulo()))
print('Formação: {}'.format(prof.pegarFormacao()))
print('Data de nascimento: {}'.format(prof.pegarDataNascimento()))
print('Email: {}'.format(prof.pegarEmail()))
print('Número de disciplinas: {}'.format(prof.pegarNumDisciplinas()))
print('Salario: {}'.format(prof.CalcularSalario()))