Erro que está dando é esse
Traceback (most recent call last): File "C:/Users/Allas/Documents/Programação/Python/introducaoACollections/implementandoIT.py", line 52, in for conta in sorted(contas): TypeError: '<' not supported between instances of 'ContaSalario' and 'ContaSalario'
O código está logo abaixo
class ContaSalario:
def __init__(self, codigo):
self._codigo = codigo
self._saldo = 0
def __eq__(self, outro):
if type(outro) != ContaSalario:
return False
return self._codigo == outro._codigo and self._saldo == outro._saldo
def __it__(self, outro):
if self._saldo != outro._saldo:
return self._saldo < outro._saldo
return self._codigo < outro._codigo
def deposita(self, valor):
self._saldo += valor
def extrai_saldo(conta):
return conta._saldo
def __str__(self):
return "[>>Codigo {} Saldo {}<<]".format(self._codigo, self._saldo)
conta_do_allas = ContaSalario(17) conta_do_allas.deposita(400)
conta_do_maycon = ContaSalario(2) conta_do_maycon.deposita(400)
conta_do_valle = ContaSalario(522) conta_do_valle.deposita(400)
contas = [conta_do_allas, conta_do_maycon, conta_do_valle]
print("----------------------")
#for conta in contas:
print(conta_do_allas > conta_do_maycon)
#for conta in sorted(contas):
print(conta)
#for conta in sorted(contas, reverse=True):
print(conta)
from operator import attrgetter
#for conta in sorted(contas, key=attrgetter("saldo", "codigo")):
print(conta)
for conta in sorted(contas): print(conta)
#print(contas)