为了账号安全,请及时绑定邮箱和手机立即绑定

代码问题!!

    def __cmp__(self, s):

        if self.score > s.score:

            return -1

        elif self.score == s.score:

            if self.name >s.name:

                return 1

            elif self.name <s.name:

                return -1

            else:

                return 0

        else:

            return 1


     if self.score > s.score:

            return -1

不太懂这里为什么是小于返回是1  cmp函数不是下x<y时,返回的是1吗?


正在回答

2 回答

赞在保护机构毒素和部分都是 vcnhvdj

  在python中,CMP是默认生序的,就是你说的X>Y,输出的时候为1,当X< Y的时候,输出的时候就变成了-1,所以看返回值是要观察题目中是说生序还是将序

0 回复 有任何疑惑可以回复我~

看你按什么顺序,从小到大,与从大到小,不同的写法。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255533    人
  • 解答问题       3038    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

代码问题!!

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号