def propoe(self, lance: Lance): #Verificando se nao ha lances no leilao if not self.__tem_lances(): #Salvando o menor lance self.__menor_lance = lance.valor #Salvando o maior lance self.__maior_lance = lance.valor #Adicionando o lance self.__lances.append(lance) #Verificando se o mesmo usuario nao fez dois lances seguidos e se o valor do lance eh maior que o valor do lance anterior elif (self.__usuarios_diferentes(lance)) and ( self.__valor_maior_que_o_anterior(lance)): #Salvando o maior lance self.__maior_lance = lance.valor #Adicionando o lance self.__lances.append(lance) #Gerando excecao caso um mesmo usuario proponha dois lances seguidos elif (self.__lances[-1].usuario == lance.usuario): raise LanceInvalido( "Um usuário não pode propor dois lances seguidos.") #Gerando excecao caso o valor de um lance seja inferior ao de um lance anterior elif (lance.valor <= self.__lances[-1].valor): raise LanceInvalido("O lance deve ser maior que o lance anterior.")
def propoe_lance(self, leilao, valor): if valor > self.__carteira: raise LanceInvalido('Não tem saldo suficiente na carteira') lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if not self._valor_eh_valido(valor): raise LanceInvalido('Não pode propor um lance superior ao valor da carteira') lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if not self._valor_valido(valor): raise LanceInvalido( 'Usuário deve ter saldo maior que o lance proposto.') leilao.propoe(Lance(self, valor)) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if not self.__valor_e_valido(valor): raise LanceInvalido('Não pode propor lance maior que o valor da carteira') lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if self._valor_e_valido(valor): raise LanceInvalido('Saldo Insuficiente') lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if not self._valor_eh_valido(valor): raise LanceInvalido("Valor maior que o disponível na carteira!") else: lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if self._valor_e_valido(valor): lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor else: raise LanceInvalido("Lance maior que valor disponivel em carteira")
def propoe_lance(self, leilao, valor): if not self._valor_valido(valor): raise LanceInvalido('Não é possível propor um lance com o valor menor que o da carteira.') lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao: Leilao, valor: float): if not self.__valor_eh_valido(valor): raise LanceInvalido( "O valor proposto eh maior que o valor da carteira.") lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao, valor): if not self._valor_e_valido(valor): raise LanceInvalido( "O valor do lance é maior que quantia em carteira.") lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe(self, lance: Lance): if self._lance_eh_valido(lance): if not self._tem_lances(): self.menor_lance = lance.valor self.maior_lance = lance.valor self.__lances.append(lance) else: raise LanceInvalido('Erro ao propor lance')
def propoe_lance(self, leilao, valor): if (not self._valor_eh_valido(valor)): raise LanceInvalido( "Não pode propor um lance com o valor maior que o valor da carteira" ) lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe_lance(self, leilao: Leilao, valor): if valor > self.__carteira: raise LanceInvalido( "Não pode propor um lance com o valor maior do que o valor da carteira" ) lance = Lance(self, valor) leilao.propoe(lance) self.__carteira -= valor
def propoe(self, lance: Lance): # anotação (type hint), só para ajudar a não se perder no código # -1: acesso ao último elemento da lista if self._lance_valido(lance): if not self._tem_lances(): self.menor_lance = lance.valor self.maior_lance = lance.valor self.__lances.append(lance) else: raise LanceInvalido('Erro ao propor lance.')
def _usuarios_diferentes(self, lance): if self.__lances[-1].usuario != lance.usuario: return True raise LanceInvalido('O mesmo usuário não pode dar dois lances seguidos')
def _lance_maior(self, lance): if lance.valor > self.maior_lance: return True raise LanceInvalido('O valor do lance deve ser maior que o anterior.')
def _usuarios_diferentes(self, lance): if self.__lances[-1].usuario != lance.usuario: return True raise LanceInvalido('Não é permitido um usuário dar lances seguidos.')
def _valor_valido(self, valor): if self.__carteira >= valor: return True raise LanceInvalido( "Saldo indisponível em carteira para executar o lance")
def propor_lance(self, leilao, valor): if not self._valor_e_valido(valor): raise LanceInvalido('Erro ao propor lance') lance = Lance(self, valor) leilao.propor(lance) self.__carteira -= valor
def _valor_maior_que_lance_anterior(self, lance): if (lance.valor > self.__lances[-1].valor): return True raise LanceInvalido( "O valor do lance deve ser maior que o lance anterior")
def valor_maior_lance_anterior(self, lance): if lance.valor > self.__lances[-1].valor: return True raise LanceInvalido( 'O valor do lance não pode ser maior que a carteira')
def propor_lance(self, leilao, valor: float): if not self.__valor_valido(valor): raise LanceInvalido('Valor proposto maior que saldo disponível') leilao.propor_lance(Lance(self, valor)) self.__saldo -= valor
def _valor_maior_que_lance_anterior(self, lance): if lance.valor > self.__lances[-1].valor: return True raise LanceInvalido('O lance não pode ser menor que o anterior')
def _lance_maior_que_o_anterior(self, lance): if lance.valor > self.__lances[-1].valor: return True raise LanceInvalido('O valor do lance deve ser maior que o lance anterior')
def _usuarios_diferentes(self, lance): if self.__lances[-1].user != lance.user: return True raise LanceInvalido( "O mesmo usuario nao pode dar dois lances seguidos")