def main(d): min_v = bin_search.min_value(d) max_v = bin_search.max_value() result = bin_search.bin_search(min_v, max_v, d) #number of sensors and their positions print("area: ", result[1][0]) print("x: ", result[1][1][0]) print("y: ", result[1][1][1]) print("alpha: ", result[1][1][2]) positions = result[1][1][0:3] #[0] - x, [1] - y, [2] - alpha tab = result[1][1][3] number = result[0] print(number, " - number of sensors") for i in range(number): if positions[2][i] == 0: tab[positions[1][i]][positions[0][i]] = '^' if positions[2][i] == 1: tab[positions[1][i]][positions[0][i]] = '<' if positions[2][i] == 2: tab[positions[1][i]][positions[0][i]] = 'v' if positions[2][i] == 3: tab[positions[1][i]][positions[0][i]] = '>' for i in range(len(tab)): for j in range(len(tab[0])): print(tab[i][j], " ", end='') print()
def search(): try: number = int(n_entry.get()) result = bin_search(number, lst) r_entry.delete(0, END) r_entry.insert(0, result) t1_entry.delete(0, END) t1_entry.insert(0, lin_time(number)) t2_entry.delete(0, END) t2_entry.insert(0, bin_time(number)) except ValueError: return
def processing_line(moscow_map_data, line, words): line_save = line line = proccessing_fulladdress(line, words) if line == -1: return "Incorrect line%s" % line_save else: line_array = line.strip("\n").split("\t") id_ = line_array[0] address = line_array[1:5] year = line_array[5] type_ = line_array[6] floors = line_array[7] find_pos = bin_search(moscow_map_data, address) if find_pos != -1: if moscow_map_data[find_pos][4] != "None": year = moscow_map_data[find_pos][4] if moscow_map_data[find_pos][5] != "None": type_ = moscow_map_data[find_pos][5] if moscow_map_data[find_pos][6] != "None": floors = moscow_map_data[find_pos][6] return [id_, year, type_, floors]
def main(d): min_v = bin_search.min_value(d) max_v = bin_search.max_value() print(bin_search.bin_search(min_v, max_v, d))
def test_bin_search(self): # Test None input res = bin_search(self.arr2, self.s1) self.assertEqual(res, self.res2) # Test empty table res = bin_search(self.arr3, self.s1) self.assertEqual(res, self.res2) # Test strange input res = bin_search(self.arr4, self.s1) self.assertEqual(res, self.res2) # Testing length1 array res = bin_search(self.arr5, self.s51) self.assertEqual(res, self.res51) res = bin_search(self.arr5, self.s52) self.assertEqual(res, self.res52) # longer array easy res = bin_search(self.arr1, self.s1) self.assertEqual(res, self.res1) # longer array has to search / odd res = bin_search(self.arr6, self.s61) self.assertEqual(res, self.res61) res = bin_search(self.arr6, self.s62) self.assertEqual(res, self.res62) res = bin_search(self.arr6, self.s63) self.assertEqual(res, self.res63) # longer array has to search / even res = bin_search(self.arr7, self.s71) self.assertEqual(res, self.res71) res = bin_search(self.arr7, self.s72) self.assertEqual(res, self.res72) res = bin_search(self.arr7, self.s73) self.assertEqual(res, self.res73)
def bin_time(number): start_time = time.clock() result = bin_search(number, lst) return time.clock() - start_time