【问题标题】:Determining if a word is a palindrome or not判断一个词是否是回文
【发布时间】:2021-02-22 01:44:00
【问题描述】:

我确定一个单词是否为回文的代码如下。

word = str(input('Enter a word: '))
word = word.lower()
backwardsWord = word.lower()
for i in range(len(word) - 1, -1, -1)
    backwardsWord = backwardsWord + word[i]
    print(word + " in reverse is: " + backwardsWord)
    if backwardsWord == word:
        print("This word is a palindrome")
    elif backwardsWord != word:
        print("This word is not a palindrome")

当我运行程序时,它会一个字母一个字母地拼出单词,并确定该字母是否与最初输入的相同。例如,这是我使用雷达一词时的输出:

radar in reverse is: r
This word is not a palindrome
radar in reverse is: ra
This word is not a palindrome
radar in reverse is: rad
This word is not a palindrome
radar in reverse is: rada
This word is not a palindrome
radar in reverse is: radar
This word is a palindrome

我怎样才能使输出只输出最后两行而不是之前的两行?

【问题讨论】:

    标签: python palindrome


    【解决方案1】:

    循环是不必要的:

    word = str(input('Enter a word: '))
    word = word.lower()
    backwardsWord = word[::-1]
    print(word + " in reverse is: " + backwardsWord)
    if backwardsWord == word:
            print("This word is a palindrome")
    elif backwardsWord != word:
        print("This word is not a palindrome")
    

    如果您愿意,如果您认为更清楚,也可以使用backwardsWord = "".join(reversed(word))。

    如果你还想保持显式循环:

    word = str(input('Enter a word: '))
    word = word.lower()
    backwardsWord = ""
    for i in range(len(word) - 1, -1, -1):
        backwardsWord = backwardsWord + word[i]
    print(word + " in reverse is: " + backwardsWord)
    if backwardsWord == word:
        print("This word is a palindrome")
    elif backwardsWord != word:
        print("This word is not a palindrome")
    

    【讨论】:

      【解决方案2】:

      将if ... elif语句放在循环体之后

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-05
        • 2012-02-12
        • 1970-01-01
        相关资源
        最近更新 更多