我该如何解决这个问题?Python def函数

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 上说这是真的,而且有效!


撒科打诨
浏览 138回答 2
2回答

慕婉清6462132

它工作正常,但不是返回尝试print max(arr, key=len)就像你直接调用函数一样,它不会显示 max 或者你可以在单行中返回 arr, max 并打印函数输出,所以它看起来像这样:def LongestWord(sen):&nbsp; &nbsp; sen = sen.translate(None, "~!@#$%^&*()-_+={}[]:;'<>?/,.|`")&nbsp; &nbsp; arr = sen.split(" ")&nbsp; &nbsp; print(arr)&nbsp; &nbsp; print max(arr, key=len)LongestWord("Argument goes here ! @")注意:它在 Python 2.7 中工作如果您想使用 PYTHON 3.7,请使用以下内容to_remove = sen.maketrans("", "", "~!@#$%^&*()-_+={}[]:;'<>?/,.|`")sen = sen.translate(to_remove)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python