问题描述
求一个字符串中英文单词的个数
分析
举个例子
'Hello, my name is lining, I like eatting'
情形1
第一个单词,第一个单词前面没有任何字符,可以作为单词数+1的条件。
情形2
除了第一个单词外,每个单词的第一个字符的前面一个字符是空格,可作为单词数+1的判断条件。
判断条件
if str[i] != ' ' and (i == 0 or str[i-1] == ' '):
完整代码:
class Solution:
def count_words(self,str):
count = 0
for i in range(len(str)):
#如果某个字符不是空格并且是第一个字符或者该字符的前一个字符是空格
if str[i] != ' ' and (i == 0 or str[i-1] == ' '):
count += 1 #单词数+1
return count #返回单词数
if __name__ == '__main__':
s = Solution()
ln = 'Hello, my name is lining, I like eatting'
n = s.count_words(ln)
print(ln)
print(f'当中有{n}个单词')
2021.9.12