29.7k views
2 votes
Write the function longest that, given a nonempty list of strings, finds the longest even-length string that ends with ing. It takes a list of strings L as input and returns a string. If there are many longest strings, return the first. If there are no such strings, return the empty string (which clearly indicates that no string was found, since a valid string would need to be at least length 3).

1 Answer

3 votes

Answer:

  1. def longest(L):
  2. for x in L:
  3. if(len(x) % 2 == 0):
  4. if(x.endswith("ing")):
  5. return x
  6. return ""
  7. print(longest(["Playing", "Gaming", "Studying"]))

Step-by-step explanation:

The solution is written in Python 3.

Firstly, create a function longest that takes one parameter L as required by question (Line 1).

In the function, create a for loop to traverse through each string in L and check if the current string length is even (Line 2 - 3). If so, use string endwiths method to check is the current string ended with "ing". If so return the string (Line 4-5).

At last, test the function by passing a list of string and we shall get the output "Gaming".

User Llioor
by
9.2k points