关于回文联递归解决方案
def hui(n,x,y):if x>y:
return 1
else:
if n==n:
hui(n,x+1,y-1)
else:
return 0
n = input('请输入一串字符串:')
lenth = len(n)-1
if hui(n,0,lenth-1):
print('"%s"是回文联'%n)
else:
print('"%s"不是回文联'%n)
为什么不管输入什么都是会出来不是回文联 是不能有两个return值吗
def hui(n,x,y):
if x>y:
return 1
else:
if n==n:
return hui(n,x+1,y-1)
else:
return 0 这样试试:
def hui(n, x, y):
if x > y:
return 1
else:
if n == n:
return hui(n, x + 1, y - 1) # 你忘了这里 return 了
else:
return 0
n = input('请输入一串字符串:')
lenth = len(n) - 1
if hui(n, 0, lenth): # 不需要减 1
print('"%s"是回文联' % n)
else:
print('"%s"不是回文联' % n) 代码改成这样试试:
def hui(n,x,y):
if x>y:
return 1
else:
if n==n:
hui(n,x+1,y-1)
else:
return 0
不然的话,就是光调用,不返回
最后的返回值一定是0 好谢谢
qiuyouzhi 发表于 2020-4-6 18:28
代码改成这样试试:
不然的话,就是光调用,不返回
嗯嗯 谢谢
页:
[1]