In python, Write a function (name: identi Substring) that, given a string S, returns an integer that represents the numbers of ways in which we can select a non-empty substring of S where all of the characters of the substring are identical. Two substrings with the same letters but different in locations are still considered different. For example, the string "zzzyz" contains 8 such substrings. Four instances of "z", two of "zz", one of "zzz" and one instance of "y". String "k" contains only one such substring:"k". The length of S will be between 1 and 100, inclusive. Each character in S will be a lowercase letter (a-z).

Respuesta :

Answer:

def identiSubstring(S):

    n = len(S)

    inst = ""

    count= 0

    for Len in range(1,n+1):

         for i in range(n-Len+1):

              for k in range(i,i + Len):

                   inst =inst+S[k]

              if(len(set(inst)) == 1):

                   count = count + 1

              inst = ""

    return count

           

S = input("Enter a string: ")

if(len(S)>=1 and len(S)<=100):

    print("There are "+str(identiSubstring(S.lower()))+" possible occurrences")

else:

   print("Length is invalid")

Explanation:

This line defines the required function

def identiSubstring(S):

This calculates the length of string S

    n = len(S)

This initializes an instance of the required string to an empty string

    inst = ""

This initializes count to 0

    count= 0

This following iterations iterate through the length of the string

    for Len in range(1,n+1):

         for i in range(n-Len+1):

              for k in range(i,i + Len):

This gets an instance of string S

                   inst =inst+S[k]

This checks if the characters of the instance are identical

              if(len(set(inst)) == 1):

If yes, the counter is incremented by 1

                   count = count + 1

This instance is reset back to an empty string

              inst = ""

This returns the number of instances of the substring

    return count

           

The main begins here

This prompt user for a string

S = input("Enter a string: ")

This checks for valid length

if(len(S)>=1 and len(S)<=100):

If length is between 1 and 100 (inclusive), this calls the identiSubstring function

    print("There are "+str(identiSubstring(S.lower()))+" possible occurrences")

If otherwise

else:

This prints invalid length

   print("Length is invalid")

See attachment

Ver imagen MrRoyal
ACCESS MORE