#一
编写一个函数判断输入的三个数是否能构成三角形
我写的函数
def is_triangle(a, b, c):
if (a+b>c and abs(a-b)<c) or (a+c>b and abs(a-c)<b) or (b+c>a and abs(b-c)<a):
return True
return False
别人写的函数
def is_triangle(a, b, c):
return (a<b+c) and (b<a+c) and (c<a+b)```
**反思:在我记忆中构成三角形的要数是两边之和大于第三边,两边之差小于第三边,这事一个重复的概念,移一下位置就可以实现。所以,构成三角形的原理就是任意两边之和小于第三边**
***
#二
### and or 的用法探究
* **and or 返回的不是布尔值,而是返回结果**
a = 3 b = 2 #c = [a,b][False] c = a or b print(c)
结果 3
a = 3 b = 2 #c = [a,b][False] c = a and b print(c)
结果 2
* **or:遇到True立马返回值,全False返回最后一个False。**
* **and:遇到False立马返False,全True返回最后一个True。**
**应用:True 为a, False为b**
a = 3 b = 2 #c = [a,b][False] c = a < b and a or b print(c)
结果 2