def word_count (x: str) -> str:
characters = len(x)
word = len(x.split())
average = sum(len(x) for x in word)/len(word)
print('Characters: ' + str(char) + '\n' + 'Words: ' + str(word) + '\n' + 'Avg word length: ' + str(avg) + '\n')
此代码工作正常与普通字符串,但对于像字符串:发现平均字长字符串
'***The ?! quick brown cat: leaps over the sad boy.'
如何修改代码,以便像“***”的数字和“?!”没有在代码中考虑?上面这句话的平均单词数应该是3.888889,但是我的代码给了我另一个数字。
您必须更精确地确定要过滤的内容。但基本思想是从x.split()中删除被拒绝的“单词”,并使用该简化列表。 –
如果问题是从某些词语中删除不需要的字符,则必须将其拼出来。 –
使用're'过滤掉你不想包含的内容将是一个相对简单的方法来达到这个目的(即双空格,特殊字符等) –