python 23、24 作业 递归 回文联 求解答
为什么我运行结果不对啊def palindrome(n):
n1 = list(n)
n2 = list(reversed(n))
length = len(n)
if length == 0 or 1:
return '是回文联!'
elif n1 == n2:
n1.pop(0)
n1.pop()
n = n1
return palindrome(n)
else:
return '不是回文联!'
palindrome('123') 你的方法本身就不对def palindrome(n):
return n==n[::-1]
palindrome('123') 永恒的蓝色梦想 发表于 2020-4-10 21:29
你的方法本身就不对
请问哪里不对呢 我的想法是先变成列表,然后reverse一个倒序列表,然后看两个列表第一个元素是否相等,相等就去掉第一个和最后一个元素再比较 yangxuebabe 发表于 2020-4-10 21:33
请问哪里不对呢 我的想法是先变成列表,然后reverse一个倒序列表,然后看两个列表第一个元素是否相等,相 ...
第五行改成 if length == 0 or length==1: 永恒的蓝色梦想 发表于 2020-4-10 21:36
第五行改成
对了!!太感谢了!
不过请问这样分开写和合起来为什么不一样呢
yangxuebabe 发表于 2020-4-10 21:39
对了!!太感谢了!
不过请问这样分开写和合起来为什么不一样呢
合起来的话就相当于 (length==0)or 1,永远都是True 永恒的蓝色梦想 发表于 2020-4-10 21:46
合起来的话就相当于 (length==0)or 1,永远都是True
懂了!忘记这个循序惹 谢谢 yangxuebabe 发表于 2020-4-10 21:48
懂了!忘记这个循序惹 谢谢
下次提问记得发提问帖
页:
[1]