|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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): #这里面的实参是什么意思?跟形参start end之间是什么关系?
- print('"%s"是回文字符串!' % string)
- else:
- print('"%s"不是回文字符串!' % string)
复制代码
#return里面有if else 而且没有缩进跟冒号,这样也可以吗?if的条件 n[start] n[end]是什么意思?
- 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
- """ 1, is_palindrome(n,start+1,end-1)就是把字符串的开头向前移动一位,
- 末尾向后移动一位,缩小范围,然后依次比较这俩玩意。
- 2, if n[start] == n[end] else 0 三元表达式,你应该学过吧。
- 3,if n[start] == n[end]就是比较start位置的字符是否和end位置的字符相等,不相等就return 0."""
- string = input("请输入一串字符串:")
- length = len(string)-1
- if is_palindrome(string,0,length): # string是目标字符串,0是字符串开头,length是字符串的结尾
- print('"%s"是回文字符串!' % string)
- else:
- print('"%s"不是回文字符串!' % string)
复制代码
|
|