版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~
https://blog.csdn.net/xiaoduan_/article/details/80904247
几道有意思的Python基础题目
- 第一题
a=1
a+=a>=1
print(a)
请问当前的输出结果是多少
正确答案是 2
为什么那?
首先拆分 a>=1 的结果为 True
现在变成了 a+=True
在Python中 True 转变为int 类型就是1
所以变成了a+=1 结果自然是2喽
虽然题目问的简单,但是还是很考验基本功的
第二题
print([1,2,3]>[1,3,2])
输出结果是多少
正确答案是False
因为列表 ,字符串的比较是第一位与第一位比较,如果相等再进行第二位比较,如果第二位可以比较出结果,那么该结果就是返回值。跟其他位的并没有关系第三题
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 同理 去思考计算机判断的过程
- 第四题
b = {'b':1}
print(1 in b) #输出结果为False
字典的成员运算符是针对字典的键来说的
- 第五题
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 比较的 是 对象在内存里面的地址 而且列表是无序的 元组是有序的