Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
String validation checks
๐ Scenario: You are building a simple program to check different properties of a user's input text. This helps in many real-life cases like validating passwords, usernames, or form inputs.
๐ฏ Goal: Build a program that checks if a given string contains only letters, only digits, or is alphanumeric, and then prints the results.
๐ What You'll Learn
Create a variable with a specific string value
Create a variable to store a check result
Use string methods to check if the string is alphabetic, numeric, or alphanumeric
Print the results clearly
๐ก Why This Matters
๐ Real World
String validation is used in forms, passwords, and user input to ensure data is correct and safe.
๐ผ Career
Many programming jobs require validating user input to prevent errors and security issues.
Progress0 / 4 steps
1
Create the input string
Create a variable called user_input and set it to the string "Hello123".
Python
Hint
Use the equals sign = to assign the string to the variable.
2
Create variables for validation results
Create three variables called is_alpha, is_digit, and is_alnum. Set each one to False initially.
Python
Hint
Each variable should be set to the boolean value False.
3
Check string properties using string methods
Set is_alpha to user_input.isalpha(), is_digit to user_input.isdigit(), and is_alnum to user_input.isalnum().
Python
Hint
Use the string methods isalpha(), isdigit(), and isalnum() on user_input.
4
Print the validation results
Print the values of is_alpha, is_digit, and is_alnum each on a new line with labels exactly as shown: "Is alphabetic: ", "Is digit: ", and "Is alphanumeric: ".
Python
Hint
Use three print() statements with the exact labels and variables.
Practice
(1/5)
1. Which Python string method checks if all characters in a string are letters (a-z or A-Z)?
easy
A. isdigit()
B. isalpha()
C. isalnum()
D. isspace()
Solution
Step 1: Understand what isalpha() does
The isalpha() method returns True if all characters in the string are alphabet letters only.
Step 2: Compare with other methods
isdigit() checks for digits only, isalnum() checks for letters or digits, and isspace() checks for whitespace characters.
Final Answer:
isalpha() -> Option B
Quick Check:
Check letters only = isalpha() [OK]
Hint: Letters only? Use isalpha() method [OK]
Common Mistakes:
Confusing isalpha() with isdigit()
Using isalnum() which allows digits too
Thinking isspace() checks letters
2. Which of the following is the correct syntax to check if a string s contains only digits in Python?
easy
A. if s.isdigit()
B. if s.isdigit:
C. if isdigit(s)
D. if s.is_digit()
Solution
Step 1: Recall method call syntax in Python
Methods require parentheses to call them, so s.isdigit() is correct.
Step 2: Identify incorrect options
s.isdigit misses parentheses, isdigit(s) is not a built-in function, and s.is_digit() is not a valid method.
Final Answer:
if s.isdigit() -> Option A
Quick Check:
Method call needs () = isdigit() [OK]
Hint: Call string methods with parentheses () [OK]
Common Mistakes:
Forgetting parentheses after method name
Using wrong method names like is_digit()
Trying to call isdigit as a function
3. What will be the output of this code?
text = "Hello123"
print(text.isalnum())
print(text.isalpha())
medium
A. True\nTrue
B. False\nFalse
C. True\nFalse
D. False\nTrue
Solution
Step 1: Check text.isalnum()
The string "Hello123" contains letters and digits only, so isalnum() returns True.
Step 2: Check text.isalpha()
Since the string contains digits, isalpha() returns False.
Final Answer:
True\nFalse -> Option C
Quick Check:
Letters+digits = True, letters only = False [OK]
Hint: isalnum() allows digits; isalpha() does not [OK]
A. The string has spaces, so isdigit() returns False
B. The method isdigit() is misspelled
C. The print statement is missing parentheses
D. The variable user_input is not defined
Solution
Step 1: Understand what isdigit() checks
isdigit() returns True only if all characters are digits without spaces or other characters.
Step 2: Analyze the string " 123 "
The string contains spaces, so isdigit() returns False, causing the else branch to run.
Final Answer:
The string has spaces, so isdigit() returns False -> Option A
Quick Check:
Spaces cause isdigit() to fail [OK]
Hint: Spaces cause isdigit() to return False [OK]
Common Mistakes:
Ignoring spaces in the string
Thinking isdigit() ignores whitespace
Assuming method name is wrong
5. You want to check if a string s contains only printable characters and no spaces. Which combination of methods correctly validates this?
hard
A. s.isprintable() and s.isalnum()
B. s.isprintable() and not s.isspace()
C. s.isprintable() and not s.isalpha()
D. s.isprintable() and not ' ' in s
Solution
Step 1: Understand isprintable()
This method returns True if all characters are printable (letters, digits, punctuation, etc.) including spaces.
Step 2: Exclude spaces explicitly
Since spaces are printable, to ensure no spaces, check that the space character ' ' is not in the string.
Step 3: Evaluate options
s.isprintable() and not ' ' in s uses not ' ' in s to exclude spaces, combined with isprintable(), which is correct. s.isprintable() and not s.isspace() fails because not s.isspace() only checks if the whole string is not spaces, but allows spaces mixed with other chars. Options C and D do not correctly exclude spaces.
Final Answer:
s.isprintable() and not ' ' in s -> Option D
Quick Check:
Exclude spaces by checking ' ' not in string [OK]
Hint: Check printable and exclude spaces with ' ' not in s [OK]