Average Words Length Python | Sololearn: Learn to code for FREE!

0

Average Words Length Python

For Average Words Length challenge in Python the function split() always returns a class ‘str’ to me rather than a class ‘list’. Anyone has seen same behavior? Thanks https://code.sololearn.com/ciImr1czh929/?ref=app

3/3/2021 7:34:31 PM

Sergiu Panaite

15 Answers

New Answer

+3

Sergiu Panaite not to worry. It happens. Happy coding.

+2

Can you Pls post the code to understand it..?

+2

Sergiu Panaite You are using strip() function ,not split() function. strip() returns a string with removing leading and trailing spaces. split() returns a list with splitting into words..

+2

Jayakrishna🇮🇳 ha ha yeah that would be it.

+2

can’t belive I was that blind, I always had impression I was writing split but was actually using strip. I feel embarassed ☹️. Thanks guys

+2

Sergiu Panaite not to worry.. 👍👍

+1

It should return a list of strings.

+1

Are you calling split() with an argument of " "?

+1

E.g. this simple program splits a sentence into a list of words: https://code.sololearn.com/cCqt749d8X6O/?ref=app

+1

Actually, I learnt from David Ashton and Louis that split() without arguments does a better job at separating out the strings

+1

Thanks Sonic , your code returns a list indeed, mine still returns a string. I’ve added the code in my original description.

+1

Sergiu Panaite can you share a link to your code?

0

a = input() x=(len(a)-a.count(" ")-a.count(".")-a.count(",")-a.count("?"))/(a.count(" ")+1) print(int(x)+(x>x//1)) #Hope this code is working fine; did it in a hurry, might have bugs.

0

Here is the code text = input() spl = text.split() print(spl) no_char = len(text) no_elment=len(spl) print (no_char) print (no_elment) print (20/3) #print ("%.2f" % (no_char/no_elment) print("%.2f" % round((no_char/no_elment), 2)) but the output is coming as 6.666666666666667 instead of 6.0

0

i use text = input() word = text.split() only_alpha = text.replace(" ", "") print(len(only_alpha) / len(word))