Learn

Now that we are looping through both the text and the pattern, we can begin to compare the two to check for matches. For each character of the text, we want to check if the subsequent characters match the pattern. These matches will then be counted to later determine if the pattern exists in the text.

While iterating over the pattern indices, the first character of the pattern can be compared to the currently iterated character of the text with the following comparison:

if pattern[0] == text[index]: # Do something

To make the above comparison more dynamic, and compare the entirety of the pattern, the current char index can be added to both of the above indices.

Instructions

1.

Inside the for loop iterating the pattern indices, create a conditional statement to check if the current character in the pattern at the char index is equal to the current character in the text at char plus the index.

If this conditional is true, print "Matching index found".

Else, break the for loop, moving on to the next index in the text, as it doesn’t make sense to continue counting if a match doesn’t exist.

2.

Since we are now checking for matches, let’s start counting them as well. Between printing the "Text Index:" and iterating through the pattern indices, set a new variable match_count equal to 0. Then, every time the conditional comparing the pattern and text indices evaluates to True, print the current value of match_count with the label "Match Count:" before incrementing it by 1.

3.

Our code is nearing completion, and it has all of the information in place to check if a pattern exists in the text.

After we have iterated through all of the indices in the pattern, check if match_count equals the length of the pattern.

If the match_count does equal the length of the pattern then print a helpful message that the pattern was found using the current value of the variables, such as “pattern found at index index”.

Sign up to start coding

Mini Info Outline Icon
By signing up for Codecademy, you agree to Codecademy's Terms of Service & Privacy Policy.

Or sign up using:

Already have an account?