学习Python中的逻辑和比较运算符

164 阅读1分钟

Python 中的逻辑运算符用于测试真或假的条件性语句。我们可以通过它来决定在代码中下一步该做什么。Python中的逻辑运算符是 and, **or**和 not.前两个运算符查看两个操作数并作出结论。例如,用 **and**操作符,如果操作数为真,就有一个 **True**值,如果操作数都为真。对于 **or**操作符,如果任何一个操作数都是 "真",你就有一个 "真 "的值。最后,还有一个 **not**操作符,它几乎只是逆转了当前值。如果操作数是假的,它就会返回真。比较运算符比较操作数两边的值,确定它们之间的关系。比较运算符包括==(等于),!=(不等于),>(大于),<=(小于或等于),等等。

什么是布尔型?

布尔值是一个二进制变量,可以是真或假。它们看起来非常简单,但却相当重要,因为你将在编程中经常使用布尔变量。在这个例子中,我们要使用天气,所以我们要看是否下雪,是否结冰,根据这些值,我们要采取行动。根据下面的代码,它没有下雪,但它是冰冻的。布尔值让我们有能力对其使用逻辑运算符

isSnowing = False
isFreezing = True

逻辑运算符是布尔值的特殊运算符

逻辑运算符需要一个或多个布尔值并对它们进行操作。这些运算符是And、Or和Not,知道这些运算符很好,因为它们可以帮助你写出简明但可理解的代码。逻辑运算符显示在这个表格中。我们可以用它们来决定如何采取行动。

和运算符

组合意义
真和真
假和真
真和假假的
假的和假的

在下面这段代码中,我们检查是否在下雪和结冰。如果这两个条件都是 "真",那么我们要向南移动。在我们的例子中,只有一个条件是 "真",所以我们留在原地。

if isSnowing and isFreezing:
    print('Time to move south')

**or**操作符

逻辑 **or**操作符可以与两个操作数一起使用,并产生以下值。

组合意义
真或真
假或真
真或假
假的或假的

这里的代码片断使用了 **or**操作符在一个 **if**检查。我们检查是否在下雪,或者是否在结冰。只有其中一个为真,才是真。因为它是冰冻的,所以 "现在一定是冬天 "这句话被打印出来。

if isSnowing or isFreezing:
    print('It must be winter time')
It must be winter time

**not**操作符

最后一个需要注意的逻辑运算符是 not,它将返回你所给它的相反结果。它同样适用于布尔值。

非运算符意义
假的
假的

这里的代码将 **not**操作符在if语句中使用。我们知道isSnowing是一个布尔假值。通过对它应用not运算符,它就反转为True。因此,"下雪了 "这句话被打印出来。

if not isSnowing:
    print('The snow is falling')
The snow is falling

这里的例子将这些概念中的一些结合在一起。我们首先创建了一个叫做scores的变量,在scores里面有一些代表各种分数的数字。我们还使用统计模块来找到所有分数的平均值。循环遍历所有这些分数,我们想看看这个分数是大于平均分还是小于平均分。然后使用NOT操作符,我们要么打印一条信息,说明该分数高于平均值,要么说明该分数低于平均值。

scores = [112, 189, 329, 817, 772, 259]
averagescore = statistics.mean(scores)
print(averagescore)
for score in scores:
    isAverage = score < averagescore
    if not isAverage:
        print('The score of ' + str(score) + ' is above average')
    else:
        print('The score of ' + str(score) + ' is below average')
413
The score of 112 is below average
The score of 189 is below average
The score of 329 is below average
The score of 817 is above average
The score of 772 is above average
The score of 259 is below average

Python 比较运算符

我们现在来看看一些比较运算符。比较运算符,也叫关系运算符,决定了数值之间的相等或不同。整个表达式最终返回一个布尔值。比较运算符是诸如大于、等于或小于的东西。

操作符意义
==等于
<=小于或等于
>=大于或等于
<小于
>大于

下面的代码片断应该是不言自明的。

**<**表示小于

print(7 < 73)
print(73 < 7)

if 7 < 73:
    print('seven is less than seventy three')
True
False
seven is less than seventy three

**==**表示等于

puppy = 7
labrador = 35

if puppy < labrador:
    print('The puppy weighs less than the labrador')
The puppy weighs less than the labrador

**<**意味着小于

mouse = 1
if mouse < puppy and mouse < labrador:
    print('The mouse weighs the least')
The mouse weighs the least

**False**意思是 0
**True**意思是 1

print(False > True)
False
# A - Z means 1 - 26
print('Words' > 'Word')
True
# A - Z means 1 - 26
print('a' <= 'b')
True

Python中的逻辑和比较运算符摘要

逻辑运算符与一个或多个布尔值一起使用,以确定最终的真或假。这些是 AND, OR, 和 NOT 操作符。这些运算符在你的Python代码中需要使用小写字母。如果你需要知道在一段代码中一个值是否小于、等于或大于另一个值,比较运算符非常有用。这包括 ==, !=, <>, >, <, >=, 和 <= 操作符。