On 10/6/2016 10:15 AM, Zeel Solanki wrote:
def filter_long_words(words, n):
   for x in words.split():
     return filter(lambda x: len(x) > n, words)

print filter_long_words(raw_input("Enter a list of words with spaces in
between."), raw_input("Enter a number."))
raw_input() always returns a string. When you enter a number (say, 5) it will be a string ("5").

use int() to convert that string to numeric.

But there are more issues. The function logic is misleading: you can remove the line beginning with "for". the loop will get the first word, appply filter (ignoring the word), then the function will stop.

"However , if i replace the raw_inputs with any given list and a number in the editor" Exactly what do you enter for a list?

Remember that anything you enter in the editor for words and n must be a string. Your function will give incorrect results.

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to