【发布时间】:2019-08-14 11:56:25
【问题描述】:
我正在定义一个 Python 函数来确定最长的字符串,如果原始字符串针对每 k 个连续字符串进行组合。该函数有两个参数,strarr 和k。
这是一个例子:
max_consec(["zone", "abigail", "theta", "form", "libe", "zas", "theta", "abigail"], 2) --> "abigailtheta"
到目前为止,这是我的代码(本能是我没有在函数中正确传递 k)
def max_consec(strarr, k):
lenList = []
for value in zip(strarr, strarr[k:]):
consecStrings = ''.join(value)
lenList.append(consecStrings)
for word in lenList:
if max(word):
return word
这是一个没有通过的测试用例:
testing(longest_consec(["zone", "abigail", "theta", "form", "libe", "zas"], 2), "abigailtheta")
我的输出:
'zonetheta' should equal 'abigailtheta'
【问题讨论】:
-
你遇到了什么问题?
-
查看上面修改过的测试用例和输出
-
除其他问题外,
if max(word)不会测试该单词是否是lenList中最长的单词。它遍历word的字符并找到具有最高Unicode代码点的字符,然后测试该字符的真值(始终为真,因为字符串的真值取决于它是否有任何字符)它)。