先说下基础题
# 基础题: # 年龄大于18,则'成年',否则'未成年'
其中有种写法是
# 方法3: msg=age>18 and '成年' or '未成年' msg
和大多数人一样,第一眼看到大脑嗡嗡响,这是啥啊,我怎么看不懂?
简化版:a and b or c
解释:如果a为真,返回b,否则返回c
这里涉及到逻辑短路问题。
用几行伪代码表示如下:
# True and x=x # False and x=False # True or x=True # False or x=x
即:如果出现短路,则返回and (或or)左边的值,否则返回右边的值
举个例子:
print(0 and 2) # and短路:取前 print(1 and 2) # and非短路:取后 print(0 or 2) # or非短路:取后 print(1 or 2) # or短路:取前
是不是很清晰了。
再次回到前面的问题,and和or同时出现,一般按照从左到右执行
print(1 and 2 or 3) # 左右顺序 print(0 and 2 or 3) # 左右顺序
最后,分解步骤,再合起来看,结果是一样的。
到这里,差不多结束了,是不是很清晰了,你学会了吗?
下篇预告:条件语句的N种写法
还是那个未成年和成年的判断