苦哈哈 发表于 2016-2-20 10:59:11

关于python递归判断回文联的问题

def is_palindrome(n, start, end):
      if start > end:
                return 1   
      else:
                return is_palindrome(n, start+1, end-1) if n == n else 0
      
string = input('请输入一串字符串:')
length = len(string)-1

if is_palindrome(string, 0, length):
      print('\"%s\"是回文字符串!' % string)
else:
      print('\"%s\"不是回文字符串!' % string)


return is_palindrome(n, start+1, end-1) if n == n else 0 这一句写的很有神韵,但是不是特别理解这样的语法结构

zjk 发表于 2016-2-20 12:43:33

这里不是汇编板块吗?...

zjk 发表于 2016-2-20 12:51:42

虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个函数的递归,然后这条语句的含义就是如果这个字符串下标start的位置和end的位置相同的话就递归,如果不相同直接返回0,哦哦,看到这里我明白这个程序是干嘛的了,就是看这个字符串是否对称是吧,,,如果下标start的位置和end的位置一直对称就一直递归直到start和end超过对称轴,然后就返回1一条一条返回,如果中间有一个不对称那么就返回0,如果返回0if就不成立就执行else了,,
不知道你能不能听懂,我的表达能力有限,不要再发错版块了{:10_266:}{:10_266:}

苦哈哈 发表于 2016-2-20 14:27:59

zjk 发表于 2016-2-20 12:51
虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个 ...

哦哦,对不起,我发错版块了

苦哈哈 发表于 2016-2-20 14:31:14

zjk 发表于 2016-2-20 12:51
虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个 ...

我该怎么删除呢?

zjk 发表于 2016-2-20 17:00:34

苦哈哈 发表于 2016-2-20 14:31
我该怎么删除呢?

我想没事吧,版主看见了要么删除要么不管你也不用管,自己删不了的..

苦哈哈 发表于 2016-2-20 17:59:20

zjk 发表于 2016-2-20 17:00
我想没事吧,版主看见了要么删除要么不管你也不用管,自己删不了的..

谢谢谢谢
页: [1]
查看完整版本: 关于python递归判断回文联的问题