Here I wrote a few functions that use ideas from search and optimization loops. Then, I added a few functions to load text from a file and modify a binary search function to allow partial matches with incomplete text. These functions are used by the A8CityCompleter.py file, which allows a user to type the start of some city names and have binary search quickly provide an auto-complete option.