函数问题
本帖最后由 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:
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 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)
words = ['green', 'grasses', 'frolicking', 'cats', '', 'kittens', 'playful']
start_chs = ['a', 'c', 'g']
def search(words, start_chs):
if not words and not start_chs:
return []
elif not words or not start_chs:
return False
res = in start_chs]
return res
print(search(words, start_chs))
那个starts_with没看懂有啥用 qiuyouzhi 发表于 2020-9-21 19:30
那个starts_with没看懂有啥用
估计是课堂作业,不想做,就发论坛了
看了一会英文才明白,其实就是定义两个函数(不要看楼主的解释,看英文才会明白)
第一个来判断
第二个根据第一个判断来添加进列表 qiuyouzhi 发表于 2020-9-21 19:30
那个starts_with没看懂有啥用
不要看他说的中文,他说的不对,直接看英文题目即可。
俩函数,第一个函数作用是判断一个单词的首字母是不是在一个列表中,若在就返回True,若不在就返回False,楼主说的不对。
第二个函数的作用是从单词列表中找出首字母在字母列表中的单词组成新列表,然后返回新列表
四楼说的对! sunrise085 发表于 2020-9-21 19:50
不要看他说的中文,他说的不对,直接看英文题目即可。
俩函数,第一个函数作用是判断一个单词的首字母 ...
经你提醒,发现刚写的还是有点不对,漏了个没找到的return Flase,而且也不用循环,直接in列表就行了。。。。。。。 疾风怪盗 发表于 2020-9-21 19:28
你这都是从哪找来的题目......
第一个函数可以再简单点
def starts_with(word, start_chs):
if not word:
return False
if word in start_chs:
return True
return False 疾风怪盗 发表于 2020-9-21 19:59
经你提醒,发现刚写的还是有点不对,漏了个没找到的return Flase,而且也不用循环,直接in列表就行了。。 ...
我发现那个问题, 然后正打算改一下,然后再看的时候你已经修改了 疾风怪盗 发表于 2020-9-21 19:39
估计是课堂作业,不想做,就发论坛了
看了一会英文才明白,其实就是定义两个函数(不要看楼主的解释 ...
学校作业,实在做不明白
页:
[1]