|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 xxlxxl 于 2020-9-21 19:22 编辑
问题:有两个列表,
列表1: words = ['green', 'grasses', 'frolicking', 'cats', '', 'kittens', 'playful']
列表2: start_chs = ['a', 'c', 'g']
列表里的内容会变,这里只是举个例子。
问题条件:当 words为空列表时,return False。当start_chs 为空列表时,return False,当两个列表都为空时return空列表。这部分的代码我已经敲出来了- def starts_with(words, start_chs):
- z = []
- a = 0
- if start_chs == '':
- return(False)
- elif words == '':
- return(False)
- for i in start_chs:
- if i == words[0]:
- a += 1
- else:
- pass
- if a == 0:
- return(False)
- if words == '' and start_chs == '':
- return(z)
- else:
- return(True)
复制代码
问题要求:自行定义一个函数 search(words, start_chs) ,当 words 列表中的单词是以start_chs中的字母开头时(比如,‘green’ 以 ‘g' 开头),将这个词放入一个新列表中,最后输出这个新列表。
补上原题,因为原题为两个部分,就一起放上来了。
本帖最后由 疾风怪盗 于 2020-9-21 19:57 编辑
你这都是从哪找来的题目......
- def starts_with(words, start_chs):
- if len(words) == 0 or len(start_chs) == 0:
- return False
- else:
- if words[0] in start_chs:
- return True
- else:
- return False
- def search(words, start_chs):
- new_words = []
- for word in words:
- if starts_with(word, start_chs):
- new_words.append(word)
- return new_words
- words = ['green', 'grasses', 'frolicking', 'cats', '', 'kittens', 'playful']
- start_chs = ['a', 'c', 'g']
- new_words = search(words, start_chs)
- print(new_words)
复制代码
|
|