Compare, Find, Check
Sometimes, a project needs to check a string for an exact match. If it’s not an exact match, the program won’t continue! Password protection is an example of this.
Other times, a project might need to ignore strings that don’t contain a certain substring. For example, a radio-broadcasting micro:bit might send names with different ID strings and commands. Each micro:bit can be running a project that looks for its own ID string and only takes action if it detects it in the string.
Example project: comp_find_check_intro
- Enter and name comp_find_check_intro.
- Click the Download button.
- Check the results in the serial terminal, and click to the right of the Enter password: prompt.
- Try typing in various passwords that are not shrubbery. Press enter after each phrase. Verify that those passwords are rejected!
- Now, try typing shrubbery, and verify that you have advanced to the password-protected part of the program.
How comp_find_check_intro Works
A string variable named password is declared as “shrubbery”.
Inside a while True loop, the first step is to prompt the user (that’s you) for a password. The result you type is stored in the variable s.
Next, an if…else… block checks if the input you typed, which is stored in s, matches the password variable. The if… block uses the equal to = operator, which returns True if the two strings match, or False if they don’t. When the two strings do match, the break block”breaks out of” the while True loop and moves on to the password-protected part of the project. When it doesn’t match, the project just displays “Password incorrect.” After that, the while True loop repeats.
The project only reaches this point if the user types the correct password.