3 回答
TA贡献1854条经验 获得超8个赞
使用此代码作为改进
def word_count(str):
count = 1
for i in str:
if (i == ' '):
count += 1
if str[0] == ' ':
count -= 1
if str[-1] == ' ':
count -= 1
print (count)
您的错误是因为您计算空格是否从开头开始或出现在末尾。请注意,您不能传递空字符串,""因为它被计算为NONE,并且尝试对其进行索引将导致错误
TA贡献1875条经验 获得超3个赞
问题似乎出在句子前面或后面有空格时。解决此问题的一种方法是使用内置函数“strip”。例如,我们可以执行以下操作:
example_string = " This is a string "
print(example_string)
stripped_string = example_string.strip()
print(stripped_string)
第一个字符串的输出将是
" This is a string "
第二个字符串的输出将是
"This is a string"
TA贡献1859条经验 获得超6个赞
您可以执行以下操作:
def word_count(input_str):
return len(input_str.split())
count = word_count(' this is a test ')
print (count)
它基本上删除了前导/尾随空格并将短语拆分为列表。
如果您偶尔需要使用循环:
def word_count(input_str):
count = 0
input_str = input_str.strip()
for i in input_str:
if (i == ' '):
count += 1
return count
count = word_count(' this is a test ')
print (count)
添加回答
举报