加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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]循环,这是从“从右到左”的第一个元素.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读