# Python program to Count alphabets, digits, special char in string

In this tutorial, we are going to learn python program to count the number of alphabets, digits, and special characters present in an input string from the user.

## Problem Statement

For any input string, we are going to print the number of alphabets (‘a’-‘z’ and ‘A’-‘Z’), the number of digits(0-9), and the number of special characters present.

For example:

Case1: If the user inputs the string ‘%python123%\$#’,

the output should be, alphabets=5, digits=3, special characters=4.

Case2: If the user inputs the string ‘!!quescollll151!!%&’,

the output should be, alphabets=10, digits=3, special characters=6.

## Our logic to count alphabets, digits, and special characters in the string

• Our program will take a string as an input from the user.
• Count the number of alphabets, digits, and special symbols and store it in different variables. This can be done using string iteration using the ‘for’ loop.
• The built-in functions ‘isalpha()’ and ‘isdigit()’ help to identify the alphabets and digits used in string characters.

## Algorithm to count alphabets, digits, and special characters in the string

Step1:  Start

Step2:   Take a string as an input from the user.

Step3: Create 3 variables to count the numbers of alphabets, digits, and special characters and assign the value ‘0’ to them.

Step4:  Use the ‘for’ loop to iterate through the string.

Step5: if i.isalpha():

alpha+=1

elif i.isdigit():

digit+=1

else:

specialChar +=1

Step6:  Print ‘alpha’, ‘digit’, and ‘special_char’

Step7: Stop

## Python Program to Count Alphabets, Digits, and Special characters in the String

### Program 1: Using isalpha() and isdigit() method

``````string = input("Enter a String : ")
alphabets=0
digits=0
specialChars=0
#checks for each character in the string
for i in string:
#if character of the string is an alphabet
if i.isalpha():
alphabets+=1
#if character of the string is a digit
elif i.isdigit():
digits+=1
else: #if character of the string is a special character
specialChars+=1
print("alphabets =",alphabets,"digits =",digits,"specialChars =",specialChars)``````

Output 1:

```Enter a String : Ques123!@we12
alphabets = 6 digits = 5 specialChars = 2```

Explanation:

For the input string ‘Ques123!@we12’, the alphabets used in this string are ‘Q’, ‘u’, ‘e’, ‘s’, ‘w’, ‘e’. The digits used in this string are ‘1’, ‘2’, ‘3’, ‘1’, and ‘2’.

And the special character used in this string is ‘!’, and ‘@’.

That makes the number of alphabet = 6,

the number of digits = 5

the number of special characters = 2

Output 2:

```Enter a String : python is fun
alphabets = 11 digits = 0 specialChars = 2```

Explanation:

For the input string ‘python is fun’, the alphabets used in this string are ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ‘i’, ‘s’, ‘f’, ‘u’, and ‘n’. There is no digit used in this string

And the special character used in this string is ‘ ’(spaces).

That makes the number of alphabet =11,

the number of digits =0,

the number of special characters =2

### Program 2: Using Regular Expressions

This approach utilizes the `re` module to find matches for alphabets, digits, and special characters using regular expressions.

``````import re
string = input("Enter a String : ")
alphabets = len(re.findall(r'[a-zA-Z]', string))
digits = len(re.findall(r'\d', string))
specialChars = len(re.findall(r'\W', string))
print("alphabets =",alphabets,"digits =",digits,"specialChars =",specialChars)``````

Output

```Enter a String : Ques@#123
alphabets = 4 digits = 3 specialChars = 2```

### Program 3: Using Collections.Counter

This approach provides a detailed count of each type of character using the `Counter` from the `collections` module.

``````from collections import Counter
input_string = input("Enter a String : ")
count = Counter(input_string)
alphabets = sum(count[char] for char in count if char.isalpha())
digits = sum(count[char] for char in count if char.isdigit())
specialChars = sum(count[char] for char in count if not char.isalnum() and not char.isspace())
print("alphabets =",alphabets,"digits =",digits,"specialChars =",specialChars)``````

Output

```Enter a String : quesc123@#
alphabets = 5 digits = 3 specialChars = 2```