【问题标题】:Trying to obtain this output (operations on palindromes in Python)试图获得这个输出(在 Python 中对回文的操作)
【发布时间】:2020-05-05 14:27:50
【问题描述】:

我正在尝试让我的代码打印此输出。

它将接受字符串。接受单词(我应该做什么) 我应该比较字符串中的第一个单词和最后一个单词 那么如果它是一个回文,它将返回 true。如果不是,它将返回 false 这是我的代码

def palindrome_word(a_str):
outputlist = []
bad_character = [' ', '?', ',']
for element in a_str:
    for words in bad_character:
        element = element.replace(words, '')
        element = element.lower()
        outputlist.append(element == element[::-1])
        return outputlist
my_string=["King, are you you are king?"]
print(palindrome_word(my_string))

我正在尝试将此作为我的输出,但出现错误 输出:

[对,错]

我的输出: [假,假]

【问题讨论】:

  • king...king 不是回文。 king...gnik 是回文。
  • 为什么 my_string 和 a_str 是一个列表?这令人困惑。

标签: python jupyter-notebook stack palindrome


【解决方案1】:

显然你想颠倒单词的顺序,而不是字符的顺序,所以你应该在空格上 split 而不是删除它:

words = element.split()
words == words[::-1]

bad_character = ['?', ','] 的位置(基本上是任何标点符号,所以你也可以使用string.punctuation

【讨论】:

  • @NurAishah 实际上,您首先需要拆分以获取单词,然后进行比较。请重试。
猜你喜欢
  • 2020-05-04
  • 1970-01-01
  • 1970-01-01
  • 2020-05-04
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多