Hello people, in this article we will solve the below python problem.
You receive the name of a city as a string, and you need to return a string that shows how many times each letter shows up in the string by using an asterisk (*).
“Chicago” –> “c:*,h:,i:,a:,g:,o:“
As you can see, the letter c is shown only once, but with 2 asterisks.
The return string should include only the letters (not the dashes, spaces, apostrophes, etc). There should be no spaces in the output, and the different letters are separated by a comma (,) as seen in the example above.
Note that the return string must list the letters in order of their first appearance in the original string.
I will solve the above problem using just a pure/core python module without importing any extra module.
def get_strings(city): city = "".join(city.lower().split()) # get rid of all spaces and turn all characters into lower case characters city_list = list(city) # next turn the city string into a list already =  # this is used to hold the character which has already counted before city_string = '' # this is the city string which will be returned for word in city_list: if word not in already: count = city_list.count(word) city_string += word + ":" for i in range(0, count): city_string += "*" city_string+= "," already.append(word) return city_string[:-1] # don't forget to get rid of the last commaSave Up to 88% Off + Free Gift. Limited Time Offer
Do you like the above solution or do you have a better one? Let me know in the comment box below this post!