【发布时间】:2021-12-29 14:54:34
【问题描述】:
这里的任务是:
A.比赛结束 给定一个字符串列表,返回字符串的个数 字符串长度为 2 或更多且第一个 和字符串的最后一个字符相同。 注意:python 没有 ++ 运算符,但 += 有效。
def match_ends(words):
for i in words:
if (len(i) >= 2) & (i[0] == i[-1]):
return [i]
print(match_ends(['aba', 'xyz', 'aa', 'x', 'bbb']))
输出是:
['aba']
【问题讨论】:
-
问题是什么?
-
Return 在第一次命中时退出函数和for循环。用 yield 替换 return ,你就会有一个生成器来做你想做的事情。
-
您应该使用
word而不是i。 -
你的意思是
and,而不是&。你应该计算匹配并返回计数,而不仅仅是返回[i]。
标签: python python-3.x loops for-loop iteration