首页 新闻 会员 周边 捐助

小弟刚开始学Python,请问一个关于内建函数cmp()的问题

0
悬赏园豆:10 [待解决问题]

我安装的是Python 2.6,文档中对内建函数cmp()的描述是:

cmp(x, y)Compare the two objects x and y and return an integer according to the outcome. The return value is negative if x < y, zero if x == y and strictly positive if x > y.

也就是说若x<y则返回一个负数(但不一定是-1),x>y则返回正数(但不一定是1),可是我在命令行里试cmp(5,3),cmp(98,76)等等返回的都是1啊?!!!从来没有返回其他正数的情况,同样当x<y时返回的都是-1。这岂不是与文档描述不相符了吗?请问各位高手这是怎么回事?小弟不胜感激!!!

inuyasha0618的主页 inuyasha0618 | 初学一级 | 园豆:132
提问于:2013-10-21 21:20
< >
分享
所有回答(1)
0

我这里是Pyton2.6.5,测试了下完全没问题,你的代码方便贴出来不,是不是你调用的不是内置的cmp,而是引了其他模块了。另外:这个函数在python3中已经没有了,如果楼主要考虑将来版本升级,最好不要用它了

会长 | 园豆:12463 (专家六级) | 2013-10-22 11:25

代码如下:

支持(0) 反对(0) inuyasha0618 | 园豆:132 (初学一级) | 2013-10-23 12:43

@inuyasha0618: 不好意思,我看错你的问题了。好像就是只能返回3个值:1、0、-1。文档里的说法也不算错。有点像“白马非马”之争了。

支持(0) 反对(0) 会长 | 园豆:12463 (专家六级) | 2013-10-23 16:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册