我正在尝试编写一个代码来测试一个单词,以查看它是否是回文。它正在工作,但在给出正确答案之前会循环打印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,现在它会打印多次,然后给出正确的答案。
答案 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循环外使用条件语句。另外,检查是否输入大写字母。