fangxiaokai 发表于 2020-11-4 20:32:33

求解

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   这行中的if else 是什么意思 前面返回1,这里在判断下?三元操作符?   
      
string = input('请输入一串字符串:')
length = len(string)-1

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

笨鸟学飞 发表于 2020-11-4 21:21:50

return is_palindrome(n, start+1, end-1) if n == n else 0
等价于:
if n == n:
      return is_palindrome(n, start+1, end-1)
else:
         return 0

巴巴鲁 发表于 2020-11-4 21:22:08

python的三元运算符

Stubborn 发表于 2020-11-4 21:52:58

ture if bool条件 else false   
根据bool条件返回对应的值,可以套娃:ture if bool条件 else ture if bool条件 else false   
页: [1]
查看完整版本: 求解