关于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 这一句写的很有神韵,但是不是特别理解这样的语法结构 这里不是汇编板块吗?... 虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个函数的递归,然后这条语句的含义就是如果这个字符串下标start的位置和end的位置相同的话就递归,如果不相同直接返回0,哦哦,看到这里我明白这个程序是干嘛的了,就是看这个字符串是否对称是吧,,,如果下标start的位置和end的位置一直对称就一直递归直到start和end超过对称轴,然后就返回1一条一条返回,如果中间有一个不对称那么就返回0,如果返回0if就不成立就执行else了,,
不知道你能不能听懂,我的表达能力有限,不要再发错版块了{:10_266:}{:10_266:} zjk 发表于 2016-2-20 12:51
虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个 ...
哦哦,对不起,我发错版块了 zjk 发表于 2016-2-20 12:51
虽然我不知道什么是回文字符串,也不明白你为什么要发到汇编版块...不过看了看我还是能看懂,,,这是一个 ...
我该怎么删除呢?
苦哈哈 发表于 2016-2-20 14:31
我该怎么删除呢?
我想没事吧,版主看见了要么删除要么不管你也不用管,自己删不了的.. zjk 发表于 2016-2-20 17:00
我想没事吧,版主看见了要么删除要么不管你也不用管,自己删不了的..
谢谢谢谢
页:
[1]