4.python-and-or-not

原创
2016/11/07 15:09
阅读数 32

#一

编写一个函数判断输入的三个数是否能构成三角形

我写的函数

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

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部