w3resource

Python: Count number of substrings with same first and last characters of a given string

Python String: Exercise-80 with Solution

Write a Python program to count number of substrings with same first and last characters of a given string.

Sample Solution:-

Python Code:

def no_of_substring_with_equalEnds(str1): 
	result = 0; 
	n = len(str1); 
	for i in range(n): 
		for j in range(i, n): 
			if (str1[i] == str1[j]): 
				result = result + 1
	return result 
str1 = input("Input a string: ")
print(no_of_substring_with_equalEnds(str1))

Sample Output:

Input a string:  abc
3

Pictorial Presentation:

Python String: Count number of substrings with same first and last characters of a given string.

Flowchart:

Flowchart: Count number of substrings with same first and last characters of a given string

Visualize Python code execution:

The following tool visualize what the computer is doing step-by-step as it executes the said program:

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to find smallest and largest word in a given string.
Next: Write a Python program to find the index of a given string at which a given substring starts. If the substring is not found in the given string return 'Not found'.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Python: Tips of the Day

Check if a given key already exists in a dictionary:

In is the intended way to test for the existence of a key in a dict.

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("this will execute")

if "nonexistent key" in d:
    print("this will not")

If you wanted a default, you can always use dict.get():

d = dict()

for i in range(100):
    key = i % 10
    d[key] = d.get(key, 0) + 1

and if you wanted to always ensure a default value for any key you can either use dict.setdefault() repeatedly or defaultdict from the collections module, like so:

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1

but in general, the in keyword is the best way to do it.

Ref: https://bit.ly/2XPMRyz