class WordLookup: def __init__(self, file_name): self.bf = BloomFilter(10000000, 8) input_file = open(file_name, "r") for file_line in input_file: file_line = file_line.rstrip() self.bf.add(file_line) input_file.close() def is_qualified(self, string): str_len = len(string) if str_len != 6: return False for i in range(1, str_len - 1): first = string[:i] second = string[i:] if self.bf.lookup(first) and self.bf.lookup(second): #print first + '+' + second + '=>' + string return True return False
bit_size = bit_array_size(num_of_items, p) print("Bit Size: "+str(bit_size)) hash_size = size_of_hash(num_of_items, bit_size) print("Hash Size: "+str(hash_size)) bf = BloomFilter(num_of_items, hash_size) word_list = open("word_list.txt").read().splitlines() for word in word_list: bf.add(word) word_list.close() print(bf.lookup("99")) print(bf.lookup("donkey")) print(bf.lookup("oitqv")) print(bf.lookup("fart")) print(bf.lookup("Max")) print(bf.lookup("Dichha")) print(bf.lookup("Khuwalung")) print("++++Random Word SpellChecker++++") alpha="" for i in range(97,123): alpha+=chr(i)