Python Program to test if the String only Numbers and Alphabets

Given a String, our task is to write a Python program to check if string contains both numbers and alphabets, not either nor punctuations.
Examples:
Input : test_str = 'Geeks4Geeks' Output : True Explanation : Contains both number and alphabets. Input : test_str = 'Lazyroar' Output : False Explanation : Doesn't contain number.
Method #1 : Using isalpha() + isdigit() + any() + all() + isalnum()
In this, we check for all digits containing is alphabets and numbers combination using all(), isalpha() and isdigit(). The any() and isalnum() is used to filter out possibility of punctuations.
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and Alphabets only# Using isalpha() + isdigit() + any() + all() + isalnum()# initializing stringtest_str = 'Geeks4Geeks'# printing original stringprint("The original string is : " + str(test_str))# conditional combination for getting result.res = not ((all(idx.isdigit() for idx in test_str) or (all(idx.isalpha()             for idx in test_str)) or (any(not idx.isalnum() for idx in test_str))))# printing resultprint("Does string contain both numbers and alphabets only? : " + str(res)) | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : True
Time Complexity: O(n2)
Auxiliary Space: O(n)
Method #2 : Using regex
Using regex is one of the ways in which this problem can be solved.
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and Alphabets only# Using regeximport re# initializing stringtest_str = 'Geeks4Geeks'# printing original stringprint("The original string is : " + str(test_str))# conditional combination for getting result.res = bool(re.match("^(?=.*[a-zA-Z])(?=.*[\d])[a-zA-Z\d]+$", "A530"))         # printing resultprint("Does string contain both numbers and alphabets only? : " + str(res)) | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : True
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #3 : Using in operator
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and Alphabets only# initializing stringtest_str = 'Geeks4Geeks'lowercasealphabets="abcdefghijklmnopqrstuvwxyz"uppercasealphabets="ABCDEFGHIJKLMNOPQRSTUVWXYZ"digits="0123456789"# printing original stringprint("The original string is : " + str(test_str))res=Falseal=0dig=0for i in test_str:    if (i in lowercasealphabets) or (i in uppercasealphabets):        al+=1    elif (i in digits) :        dig+=1if(al+dig==len(test_str)):    res=True     # printing resultprint("Does string contain both numbers and alphabets only? : " + str(res))#contributed by Bhavya Koganti | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : True
Time Complexity: O(n)
Auxiliary Space: O(1)
Method #4 : Using replace() and len() methods
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and# alphabets only# Initializing stringtest_str = 'Geeks4Geeks'lalphabets = "abcdefghijklmnopqrstuvwxyz"ualphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"digits = "0123456789"x = lalphabets+ualphabets+digits# Printing original stringprint("The original string is : " + str(test_str))for i in x:    test_str = test_str.replace(i, "")res = Falseif(len(test_str) == 0):    res = True# Printing resultprint("Does string contain both numbers and alphabets only? : " + str(res)) | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : True
Time Complexity: O(n)
Auxiliary Space: O(n)
 
Method #5: Using operator.countOf() method
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and Alphabets onlyimport operator as op# initializing stringtest_str = 'Geeks4Geeks'lowercasealphabets="abcdefghijklmnopqrstuvwxyz"uppercasealphabets="ABCDEFGHIJKLMNOPQRSTUVWXYZ"digits="0123456789"# printing original stringprint("The original string is : " + str(test_str))res=Falseal=0dig=0for i in test_str:    if ( op.countOf(lowercasealphabets.split(),i)>0) or (op.countOf(uppercasealphabets.split(),i)>0):        al+=1    elif (op.countOf(digits.split(),i)>0) :        dig+=1if(al+dig==len(test_str)):    res=True     # printing resultprint("Does string contain both numbers and alphabets only? : " + str(res)) | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : False
Time Complexity: O(n)
Auxiliary Space: O(1)
Method #6:Using itertools.filterfalse() method
Python3
# Python3 code to demonstrate working of# Test if string contains both Numbers and Alphabets onlyimport itertools# initializing stringtest_str = 'Geeks4Geeks'# printing original stringprint("The original string is : " + str(test_str))# conditional combination for getting result.res = list(itertools.filterfalse(    lambda x: (x.isdigit() or x.isalpha()), test_str))if(res):    res = Falseres = True# printing resultprint("Does string contain both numbers and alphabets only? : " + str(res)) | 
The original string is : Geeks4Geeks Does string contain both numbers and alphabets only? : True
Time Complexity: O(n)
Auxiliary Space: O(N)
				
					


