有意思的Python例子

版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~
https://blog.csdn.net/xiaoduan_/article/details/80904247

几道有意思的Python基础题目

  1. 第一题
a=1
a+=a>=1
print(a) 

请问当前的输出结果是多少

正确答案是 2
为什么那?
首先拆分 a>=1 的结果为 True
现在变成了 a+=True
在Python中 True 转变为int 类型就是1
所以变成了a+=1 结果自然是2喽
虽然题目问的简单,但是还是很考验基本功的

  1. 第二题
    print([1,2,3]>[1,3,2])
    输出结果是多少
    正确答案是False
    因为列表 ,字符串的比较是第一位与第一位比较,如果相等再进行第二位比较,如果第二位可以比较出结果,那么该结果就是返回值。跟其他位的并没有关系

  2. 第三题

print(1 and 2) #结果是2
print(1 and 0)#结果是0
print('a' and 'b')#结果是'b'
print('b' and 'a')#结果是'a'
print( not 'b')#结果是False
print([1] or [])#结果是[1]
print([] or [1])#结果是[1]
print(1 or 2)#结果是1
print(2 or 1#结果是2

是不是很神奇的返回值!
其实这个判断规则也很简单,只要想一下 and 和 or 的判断规则就好了。
首先 and 如果and 左右两边都是 True 类型的 但是当计算机读到and左边的参数的时候,它并不能做出判断,只有两个都知道的时候才能判断返回值。所以 print(1 and 2) #结果是2
or 同理 去思考计算机判断的过程

  1. 第四题
b = {'b':1}
print(1 in b) #输出结果为False

字典的成员运算符是针对字典的键来说的

  1. 第五题
a = [1,2,3]
b = [1,3,2]
print(a ==b ) #True
print(a is b) #False


c = (1,2,3)
d=(1,3,2)
print(c==d)#False
print(c is d)#False

因为 is 比较的 是 对象在内存里面的地址 而且列表是无序的 元组是有序的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值