python – 关于返回表达式
发布时间:2020-12-20 11:15:05 所属栏目:Python 来源:网络整理
导读:级别:初学者 以下代码将打
级别:初学者
以下代码将打印’False’ def function(x): if len(x) == 5: return True else: return x[0] == x[-1] print function('annb') 为什么行“else:return x [0] == x [-1]”print False? 这是一种常用/常用的“技术”吗? 在尝试解决回文运动recursivley时,我首先遇到了这种特殊的语法.似乎使递归工作的唯一方法是使用这种速记方法: def isPalindrome(s): if len(s) <= 1: return True else: return s[0] == s[-1] and isPalindrome(s[1:-1]) print isPalindrome('anna') 谢谢 解决方法
对不起,我不完全确定你的意思,但在这里想一想:
return (x[0] == x[-1]) 如果您只考虑括号内的内容,您会意识到,’语句’等同于布尔值,对吧?这就是你也可以这样做的原因: if x[0] == x[-1] 所以基本上,这里返回的是一个布尔值,表示x [0]是否等于[-1]. 可以更明确地将此语句扩展为以下内容: if x[0] == x[-1]: # if this is true return True # then return true else: return False 但正如你所看到的,条件和你想要返回的内容都是相同的值,所以你只需要像你看到的那样简写: return x[0] == x[-1] 对不起,如果我误解了你的问题. 编辑:如果你提到负指数(x [-1]),在Python中,负指数基本上是“环绕”,所以其中x [0]将是从“从左到右”的第一个元素,所以到说,x [-1]循环,这是从“从右到左”的第一个元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |