167k views
2 votes
Write a function called count_occurrences that takes two strings. The second string should only be one character long. The function should return how many times the second string occurs in the first string.

User Hadja
by
4.9k points

2 Answers

6 votes

Answer:

def count_occurrences(sentence, thing_to_count):

times = 0

for word in sentence:

for letter in word:

if letter == thing_to_count: times += 1

return times

Step-by-step explanation:

I got 100%

User Timothy Jeffcoat
by
4.6k points
3 votes

Answer:

Here is the Python function:

def count_occurrences (string1 , string2): # method that takes two strings as parameter and returns how many times second string occurs in first

count = 0 #counts number of occurrence of string2 in string1

for word in string1: #iterates through each word of the string1

for character in word: #iterates through each character of each word in string1

if character == string2: # checks if the character in string1 is equal to the character of string2

count = count + 1 #adds 1 to the count of string2 in string1

return count #returns number of times the string2 occurs in string1

#in order to check the working of the function add the following lines to the code:

first_str = input("Enter the first string: ") #prompts user to enter first string

second_str = input("Enter the second string (one character long): ") #prompts user to enter second string which should be one character long

occurrence = count_occurrences(first_str,second_str) #calls count_occurrences method by passing both strings to it

print(second_str,"occurs",occurrence,"times in",first_str) #prints how many times the second_str occurs in the first_str on output screen

Step-by-step explanation:

The program is well explained in the comments added to each statement of the above code. I will explain the program with an example:

Suppose

string1 = "hello world"

string2 = 'l'

So the method count_occurrences() should return how many times l occurs in hello world.

count is used to count the number of occurrences of l in hello world. It is initialized to 0.

The first loop iterates through each word of string1. The first word of string1 is "hello"

The second loop iterates through each character/letter of each word. So the first letter of "hello" word is 'h'.

The if condition if character == string2: checks if the character is equal to string2 i.e. l.

character = "h"

string2 = "l"

The are not equal so the program moves to the next character of word hello which is e. The if condition again evaluates to false because e is not equal to l. So the program moves to the next character of word hello which is l.

This time the if condition evaluates to true because

character = "l"

string2 = "l"

character == string2

l == l

So the if part is executed which has the following statement:

count = count + 1

So the count is added to 1. count was 0 previously. Now

count = 1

Next the program moves to the next character of word hello which is l. This time the if condition evaluates to true because the character l matches with string2. So count is again incremented to 1. count = 2.

Next the program moves to the next character of word hello which is o. The if condition evaluates to false as o does not match with string2 i.e. l. So the count remains 2.

Next the first loop moves to the next word of the string1 = "world". The inner (second) for loop iterates through each character of "world" from "w" to "d" and checks if any character is equal to string2. Only one character is equal to string2 in "world". So count is incremented to 1. Hence count = 3

After the loop ends the statement return count returns the number of times string2 occurs in the string1. So the output is:

l occurs 3 times in hello world

Write a function called count_occurrences that takes two strings. The second string-example-1
User Surya Chandra
by
5.2k points