【发布时间】:2013-05-12 18:22:36
【问题描述】:
我正在尝试编写一个程序,我需要做的一件事是检查一个数字是否是回文。 由于某种原因,我写的东西不起作用:
flag = True
for j in range(0, len(listnum)):
for t in range(len(listnum) -1, -1, -1):
if listnum[j] == listnum[t]:
flag = True
print "false"
else:
flag = False
print "false"
break
if flag == True:
return True
else:
return False
打印“false”/“true”部分用于调试。 我从我编写的函数中取出了这段代码,这就是为什么它说“返回真/假”。
我正在检查的号码是 906609
【问题讨论】:
-
为什么不删除
flag变量,直接从内部循环返回True/False? -
我曾经这样做,但我试图看看是什么导致它返回 false,这就是为什么我改变了一些事情,包括这个。
-
嗯,由于某种原因,现在我更改了它,它起作用了。
-
我做了上面的为什么还是不行?
-
您的逻辑已关闭。两个嵌套循环意味着将每个元素相互比较——这不是你想要的。
标签: python palindrome