124k views
2 votes
Write a function to receive any word as input, search the song titles only and return the number of top billboard songs that contain that word. Your function should meet the following requirements: Your function should receive any word or phrase as an input string and return a simple message with the number of songs that contain those words. E.g. [5] songs were found to contain [supplied phrase] in this dataset If the words or phrase supplied were not found in the database, return the message No songs were found to contain the words: [supplied phrase] Remember to deal with whatever letter case you are supplied i.e. all caps or all lowercase, etc. Test your function with the word like and confirm that your result reads [100] songs were found to contain [like] in this dataset

1 Answer

2 votes

Answer:

Here is the function:

def NumberOfSongs(word): # function definition

count=0 #count the occurrence of word in song

for song in lyrics['Lyrics']: #iterates through song lyrics

if word in str(song): #if word is in the song

count=count+1 #adds 1 to the count

if count!=0: #if word occurs in the songs

return f'{str(count)} songs were found to contain {word} in this dataset' #display the count of the word in the song

else: #if word does not appear in any song

return f'No songs were found to contain the words:{word}' #returns this message if no songs were found with given word

print(NumberOfSongs('like')) #calls method with the word like given as parameter to it

Step-by-step explanation:

You can add the csv file this way:

import pandas as pd

lyrics = pd.read_csv("lyrics.csv", encoding="cp1252")

Now you can use the NumberOfSongs method which iterates through the Lyrics of lyrics.csv and find if any of the songs in the file contains the specified word.

The screenshot of program along with its output is attached. Since the file was not provided i have created a csv file. You can add your own file instead of lyrics.csv

Write a function to receive any word as input, search the song titles only and return-example-1
User Hugheth
by
5.3k points