def LongestWord(sen): # first we remove non alphanumeric characters from the string # using the translate function which deletes the specified characters sen = sen.translate(None, "~!@#$%^&*()-_+={}[]:;'<>?/,.|`") # now we separate the string into a list of words arr = sen.split(" ") print(arr) # the list max function will return the element in arr # with the longest length because we specify key=len return max(arr, key=len)**print LongestWord("Argument goes here")**这条线有什么问题?我怎样才能改变它?我无法理解!这让我真的很不安,因为在 Coderbyte.com 上说这是真的,而且有效!
2 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
它工作正常,但不是返回尝试
print max(arr, key=len)
就像你直接调用函数一样,它不会显示 max 或者你可以在单行中返回 arr, max 并打印函数输出,所以它看起来像这样:
def LongestWord(sen):
sen = sen.translate(None, "~!@#$%^&*()-_+={}[]:;'<>?/,.|`")
arr = sen.split(" ")
print(arr)
print max(arr, key=len)
LongestWord("Argument goes here ! @")
注意:它在 Python 2.7 中工作
如果您想使用 PYTHON 3.7,请使用以下内容
to_remove = sen.maketrans("", "", "~!@#$%^&*()-_+={}[]:;'<>?/,.|`")
sen = sen.translate(to_remove)
添加回答
举报
0/150
提交
取消