python 下列表达式的值为true的是_下列表达式的值为True的是

本题在 Python2 下答案选 C,在 Python3 下全部错误。

选项 A:Python2 与 Python3 均不支持复数比较大小,Python2 中会抛出以下错误: TypeError: no ordering relation is defined for complex numbers

Python3 中会抛出以下错误: TypeError: '>' not supported between instances of 'complex' and 'complex'

数字类型的比较可参考:

选项 B:Python2 与 Python3 均支持连续比较,相当于 3>2 and 2>2,后一个判断式为假,因此整个表达式都为假。可参考官方文档:

选项 C:Python2 支持数字与字符串之间的比较,而 Python3 则不支持,会报以下错误: TypeError: '>' not supported between instances of 'int' and 'str'

tuple 类型的比较是元素多的大于元素少的,若元素个数相等,则从第一个元素开始依次向后比较,直到两个元素不相等才结束。(字符串貌似永远比数字大,文档没找到说明,试出来的)

-------- Update in 2018/03/24 感谢更正,不明白为何当时会出上面的结果。--------

tuple 的比较是从两者的第一个元素的 ASCII 码开始,直至两个元素不相等为止,若前面元素都相等,则元素个数多的 tuple 较大。 (1,9) < (2,3) # True

(8,9) < (1,2,3) # False

(1,2,3) == (1,2,3) # True

(3,2) < ('a','b') # True

选项 D:字符串的比较与 tuple 类似,也是从第一个字符开始比较 ASCII 码,直到两个字符不相等为止。

字母与数字的ASCII 码大小范围是 "a-z" > "A-Z" > "0-9",D选项中 'a' < 'x',因此 'abc' > 'xyz' # False

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值