对于家庭作业,我假设实现一个函数numLen()
,它接受一个字符串s
和一个整数n
作为参数,并返回字符串中的单词数{ {1}},其长度为s
。字符串中的单词是由至少一个空格分隔的非空格字符。
一个例子是输入:
n
并得到2,因为字符串中有2个单词有4个字符。
我不知道如何做到这一点。
答案 0 :(得分:4)
将字符串拆分为str.split()
的单词,迭代单词,将其长度与给定数字进行比较,返回计数。
这是使用一些内置函数的紧凑实现:
In [1]: def numLen(s, n):
...: return sum(1 for w in s.split() if len(w) == n)
...:
In [2]: numLen("This is a test", 4)
Out[2]: 2
您可以按照
的方式自行构建版本def numLen(s, n):
words = ... # build a list of separate words
i = 0 # a counter for words of length n
for word in words:
# check the length of 'word'
# increment the counter if needed
# return the counter