|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
这个是答案,但是里有一行代码不理解,这一行代码太长了吧
- def is_palindrome(n, start, end):
- if start > end:
- return 1
- else:
- return is_palindrome(n, start+1, end-1) if n[start] == n[end] 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[start] == n[end] else 0
这个代码具体是怎么执行的呢
如果 n[start] == n[end] 条件满足 就执行 if 前面的语句,也就是进入下一次的递归
而如果不满足 则返回 0
|
|