Find the shortest whole repetitive substring (part 3)
You currently write:

for i in range(len(original_string)):


Consider using enumerate:

for i, char in enumerate(original_string):
    if char == current_candidate[j]:


enumerate allows you to reference the current object in a nice manner, while also giving you the index that the item belongs to.