Extend the length check with a second rule: the password must also contain at least one digit.
You start with:
let password = "Secret99"
Build:
Length: 8 Has digit: True Strong
Rules:
- Print
"Length: "followed by the number of characters. - Loop through each character to set a boolean flag
hasDigit, which starts asfalseand becomestruewhen a digit is seen. - Print
"Has digit: "followed by the flag. Write it asTrueorFalsewith a capital letter, exactly as in the example (your language's own boolean prints differently, so choose the text yourself). - If the length is at least 8 and
hasDigitistrue, printStrong; otherwise printWeak.
Try other passwords: with abcdefgh the output is
Length: 8 Has digit: False Weak
character.isNumber tests a single character. Use (hasDigit ? "True" : "False") to print a capitalised True/False.
let password = "Secret99"
let length = password.count
print("Length: \(length)")
var hasDigit = false
for character in password {
if character.isNumber {
hasDigit = true
}
}
print("Has digit: \(hasDigit ? "True" : "False")")
if length >= 8 && hasDigit {
print("Strong")
} else {
print("Weak")
}
Free plan: 30 tutor messages. Premium is unlimited.
Saved
Ctrl + Enter to check
