语法错误python,不确定如何编写代码

时间:2019-04-16 19:07:22

标签: python

我正在尝试编写一个代码来测试一个单词,以查看它是否是回文。它正在工作,但在给出正确答案之前会循环打印NO。我希望它只打印一次正确的答案。

我什么都没做,只是在互联网上找到了答案

x = str(input("enter the word:"))

w = "" 

for i in x: 
    w = i + w 
    if x == w: 
        print("YES") 
    else:
        print("NO")

它应该打印一次YES或NO,现在它会打印多次,然后给出正确的答案。

6 个答案:

答案 0 :(得分:3)

缩进w = i + w线

x = str(input("enter the word:"))

w = "" 

for i in x: 

  w = i + w 

if (x==w): 
    print("YES") 
else:
    print("NO")

答案 1 :(得分:0)

请更正缩进,以便排除故障。

乍看之下,似乎“ if”语句嵌套在“ for”循环的旁边,因此在添加每个字母后检查回文。

答案 2 :(得分:0)

如果将if else放入循环中,则其绑定必须多次打印结果。使其保持循环状态,它将仅打印一次。

答案 3 :(得分:0)

欢迎来到社区!

一种更简单的方法是:`

x = str(input("enter the word:"))
if (x==x[::-1]): 
    print("YES") 
else:
    print("NO")

您可能想研究python中的字符串切片:)

答案 4 :(得分:0)

Mark B已经解决了您的问题,但是这是您不感兴趣的另一种方法。

word = input("Enter word")

reverse = word[::-1]

if word == reverse:
    print("Yes, plaindrome")
else:
    print("No, not palindrome")

答案 5 :(得分:0)

使用for循环创建一个新字符串(字符串x的反向)。在for循环外使用条件语句。另外,检查是否输入大写字母。