1.请用最快速度说出答案: not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是: 4
not or and 的优先级是不同的: not > and > or
我们按照优先级给它们加上括号: (not 1) or (0 and 1) or (3 and 4) or (5 and 6)or (7 and 8 and 9)== 0 or 0 or 4 or 6 or 9 == 4
为啥是 4?
大家还记得第四讲作业提到的“短路逻辑”吗? 3 and 4 == 4 ,而 3 or 4 ==3。
所以答案是: 4
2.幂运算操作符比其左侧的一元操作符优先级高,比其右侧的一元操作符优先级低。
3.Python 的 floor 除法现在使用 “ // ” 实现,那 3.0 // 2.0 您目测会显示什么内容呢?
如果回答是 1.5 那么很遗憾, 您受到 C 语言的影响比较大, Python 这里会义无反顾地执行 floor 除法原则,答案是: 1.0
4. 请问 range(10) 生成哪些数?
会生成 range(0, 10) ,list(range(0, 10)) 转换成列表是: [0, 1, 2, 3, 4, 5, 6, 7, 8,
9],注意不包含 10 。
5.
append() 方法是将参数作为一个元素增加到列表的末尾。
extend() 方法则是将参数作为一个列表去扩展列表的末尾。
>>> name = ['F', 'i', 's', 'h']
>>> name.append('C')
>>> name
['F', 'i', 's', 'h', 'C']
>>> name.extend(['.', 'c'])
>>> name
['F', 'i', 's', 'h', 'C', '.', 'c']
>>> name.append(['o', 'm'])
>>> name
['F', 'i', 's', 'h', 'C', '.', 'c', ['o', 'm']]
>>> list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
>
list1 = []
for x in ragne(10):
for y in range(10):
if x%2 == 0:
if y%2 != 0:
list1.append((x, y))