class Dictionary:
    backing: "list" = [None] * 100

    def __init__(self):
        for i in range(len(self.backing)):
            self.backing[i] = []

    def hash(self, key: str):
        ord_total = 0;
        for letter in key:
            ord_total += ord(letter)
        return ord_total % len(self.backing)


    def get(self, key: str):
        index = self.hash(key)
        for item in self.backing[index]:
            if item[0] == key:
                return item[1]
        
        return None

    def set(self, key: str, value):
        index = self.hash(key)
        self.backing[index].append((key, value,))


sample_dict = Dictionary()
sample_dict.set("test string", "test value")
sample_dict.set("tets string", "this value will *not* overwrite the other one")
print(sample_dict.get("test string"))
print(sample_dict.get("tets string"))

print(sample_dict.backing)
