При запуске кода вылетатет 2 ошибки на 19 линии TypeError: '<' not supported between instances of 'SSD' and 'SSD' и на 80 in как исправить?

from Practice2.ssd import Generator, SSD
from Structure import Start
import random
import math

class StepSearch(Start):
    def __init__(self):
        super(Start, self).__init__()

    def find_cl(self, value: SSD) -> [int, None]:
        step = math.floor(math.sqrt(self.length))
        k1 = 0
        k2 = step
        while True:
            if k1 >= self.length:
                return None
            print(value)
            print(self.array)
            if value < self.array[0]:
                return None
            elif value == self.array[0]:
                return k2
            if value == self.array[k2]:
                return k2
            elif value < self.array[k2]:
                a = k2
                while a != k1:
                    a -= 1
                    if value == self.array[a]:
                        return a
            k1 += step
            if self.array[k2 + step] is None:
                k2 = self.length - 1
            else:
                k2 += step

    def find_by_val(self, value: object) -> [list, None]:
        list_of_keys = []
        if value in ["Samuel", "Jack", "Joseph", "Harry", "Alfie", "Jacob", "Thomas"]:
            for key in range(self.length):
                if value == self.array[key].name:
                    list_of_keys.append(key)
        if value in ["Alana", "Alex", "Cynthia", "Scarlett", "Emma", "Jenna", "Gabriel"]:
            for key in range(self.length):
                if value == self.array[key].name:
                    list_of_keys.append(key)
        if value in ["Smith", "Brown", "Young", "Lewis", "Davis", "Harris", "Walker"]:
            for key in range(self.length):
                if value == self.array[key].surname:
                    list_of_keys.append(key)
        if value in ['male', 'female']:
            for key in range(self.length):
                if value == self.array[key].gender:
                    list_of_keys.append(key)
        if list_of_keys == []:
            return None
        else:
            return list_of_keys


g = Generator()
f1 = StepSearch()
print("Testing find class")
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
print("Creating list of correct and incorrect values")
sm_l = []
for key in range(f1.length):
    sm_l.append(f1.array[key])
for el in range(6):
    sm_l.append(g.generate_ssd())
print("10 attempts of finding in array some random elements from the list")
n = 1
print(sm_l)
while n <= 10:
    print(f1.find_cl(random.choice(sm_l)))
    n += 1
print("Testing find attribute")
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
f1.add(g.generate_ssd())
print("Creating list of all values of attributes")
attr_l = [["kingston", "samsung"], ["250gb", "500gb", "1Tb", "2Tb"], ["2,5'", "M.2", "PCI-E"], ["SATA3", "PCIex1", "PCIex2", "PCIex4"]]
for attr in range(6):
    a = random.choice(attr_l[attr])
    print(f"{a} --- {f1.find_by_val(a)}")

Ответы (0 шт):