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
15 ответов
+ 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))