【问题标题】:How can I fix this error when I try to find a palindrome?当我尝试查找回文时,如何解决此错误?
【发布时间】:2021-06-30 17:25:09
【问题描述】:

我需要找出集合中的某些字符串是否是回文,无论它们的大小写如何。 我正在反转集合中的单词,将它们转换为小写,然后说如果它们匹配,则将其添加到回文集合中。当我这样做时,这就是我得到的。

TypeError
Traceback (most recent call last)
<ipython-input-1-621af373c5f5> in <module>()
      5  print(word, palindrome)
      6  wordLower = word.lower
----> 7  if (wordLower==wordLower[::-1]):
      8    palindrome.add(word)

TypeError: 'builtin_function_or_method' object is not subscriptable

我的代码如下。

words = {'maDam', 'kIng', 'ANna', 'kayak', 'levels', 'dad', 'morning'}
palindrome = set()

for word in words:
 print(word, palindrome)
 wordLower = word.lower
 if (wordLower==wordLower[::-1]):
   palindrome.add(word)

【问题讨论】:

  • str.lower 是一个函数;你需要调用它:word.lower()
  • 6 应该是 wordLower = word.lower() 你缺少 () 所以你分配的是方法本身,而不是调用它的结果
  • 谢谢。没想到

标签: python typeerror palindrome


【解决方案1】:

word.lower 是函数本身; word.lower() 是调用该函数的结果(这似乎是您真正想要的)。

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2020-02-07
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 2021-08-20
  • 2023-01-04
  • 2022-06-11
  • 1970-01-01
相关资源
最近更新 更多