Python或运算符

Python或运算符

逻辑或

编程是数学、逻辑和其他许多领域的混合物。要解决数学中的任何问题,从教科书到实时问题,我们都需要加法、减法、乘法和除法运算符。这些都是数学中需要的基本运算符。类似地,为了对变量或值执行任何操作,Python有7种类型的运算符,每种都有用。其中之一就是”或”运算符,它属于逻辑运算符。

逻辑运算符主要涉及决策需求。逻辑运算符有三个操作符:

  1. 逻辑与
  2. 逻辑或
  3. 逻辑异或

本文讨论了逻辑或运算符,并给出了示例以便清楚理解。

基本:

在C和Java等语言中,“||”表示逻辑或运算符,但在Python中,我们使用“or”而不使用任何特殊符号。

语法:a or b

返回值: 此运算符根据操作数返回”True”或”False”。

  • 如果操作符两侧的操作数/表达式都为假,则返回 False
  • 如果至少有一个操作数为true或者两个都为true,则返回 True

    “OR”运算符的真理表:

Expression 1 Expression 2 (Expression 1 and Expression 2) returns:
True True True
True False True
False True True
False False False

需要使用OR运算符

假设我们需要一个数;如果它是正数,它必须大于20;如果它是负数,它必须小于-20。要满足这些条件,如果我们使用条件语句编写代码:

num = int (input ("Enter a number: "))
if (num < -20):
    print ("True")
elif (num > 20):
    print ("True")
else:
    print ("False")

输出:

Python或运算符

理解:

在上面的代码中,

  1. 首先,我们检查数字是否为负数并且小于-20。如果条件为真,则不需要检查下一个条件,因此我们打印“True”。
  2. 如果条件为假,则执行elif块,检查数字是否为正数并且大于20。如果条件为真,则打印“True”。
  3. 如果if和elif都为假,则执行else块打印“False”。
  • 使用“OR”运算符编写上述代码:
    1. 我们可以在一行中同时检查这两个条件。
    2. 如果至少有一个条件为真,则立即返回“True”。
    3. 如果这两个条件都为假,则返回“False”。
num = int (input ("Enter a number: "))
if (num < -20 or num > 20):
    print ("True")
else:
    print ("False")

输出:

Python或运算符

  • 使用“或”操作符使代码简单、可读性强,并且减少代码的长度。

让我们通过一个实时应用举个示例:

假设你正在为b-tech和m-tech学生组织一场编程竞赛;为了让学生参加比赛,他们必须是b-tech或m-tech学生。任何既不是b.tech又不是m.tech学生的人都不允许参加比赛。因此,我们需要检查至少有一个条件是否为真。

代码:

name = input ("Please enter the participant's name: ")
course = input ("Please enter the course the participant's studying\nPlease                     enter the name of the course in capital letters without spaces                  or other characters in between like BTECH and MTECH: ")
if (course == "BTECH" or course == "MTECH"):
    print ("Congratulations!, You are eligible for the competition")
else:
    print ("Only students in B-Tech and M-Tech are allowed to the competition.          Sorry! We can't enroll you in")

输出:

Python或运算符

“or”仅对两个数字使用

现在让我们看看如果在”or”运算符的两侧给出两个十进制整数会发生什么:

前提条件: 通常,“or”检查至少有一个操作数为True。大于0的任何数字都表示True,而0表示False。

num1 = int (input ("Enter a number: "))
num2 = int (input ("Enter another number: "))
print (num1 or num2)

示例输出:

Python或运算符

理解:

  1. 在第一种情况下:
  • 两个数字都大于0- True or True条件 。因此,”or”返回True。
  • “or”的条件是至少有一个操作数必须为True。因此,在确认第一个数字4(>0)为真之后,即使不检查第二个数字,它也返回 带有第一个数字的”True”
    1. 在第二种情况下:
  • 第一个数字为0-False;”or”检查第二个数字,它是1(>0)- False or True条件 。返回 False
    1. 在第三种情况下:
  • 第一个数字为0-False;”or”检查第二个数字,它再次为0- False or False 。返回 False
    • “or”运算符搜索操作数以找到一个”True”。一旦找到一个”True”,它立即返回True而不检查其他操作数。这个条件被称为 “短路”“惰性计算”

“or”与多个操作数一起使用

num1 = int (input ("Enter the first value: "))
num2 = int (input ("Enter the second value: "))
num3 = int (input ("Enter the third value: "))
print (num1 or num2 or num3)

示例输出:

Python或运算符

理解:

这与有两个操作数是一样的。“或”检查是否存在一个“True”,如果找到一个,它返回“True”,如果至少找不到一个True,则返回“False”。

按位或(|)

Python中还有另一个“或”运算符。这是一个位运算符。我们用“|”表示。两者都被称为“或”运算符。现在,让我们看看这两个运算符之间的区别:

二进制语言是计算机的语言。所有内部机制都是基于位进行的。位运算符是一组允许程序员在整数上执行位运算的运算符。有六个位运算符:

  1. 位与
  2. 位或
  3. 位非
  4. 位异或
  5. 位右移
  6. 位左移

(逻辑或,位或),(逻辑与,位与),(逻辑非,位非)的区别在于它们的名称。

  • 如果使用任何位运算符,首先将 整数转换为二进制位 ,然后运算符会 逐位地 执行操作。
  • 这里, 1表示True,0表示False
  • 操作完成后,将二进制数转换为十进制并返回作为输出。

位或的操作:

给定的整数被转换为位(二进制),运算符将对两个数字的每个相应位进行操作。

Bit 1 (operand 1) Bit 2 (operand 2) Return value
0 0 0
1 0 1
1 1 1
0 1 1

让我们来看一个示例:

如果 num1 = 3 和 num2 = 4:

3 -> 011

4 -> 100

执行 | 操作:

Python或运算符

如果我们对3和4进行逻辑或操作,我们将得到True,并返回3:

num1= int (input ("Enter a number: "))
num2 = int (input ("Enter another number: "))
print (num1 or num2)
print (num1 | num2)

输出:

Python或运算符

这是Python语言中可用的两个 “or” 运算符。

逻辑或 vs 位或:

逻辑或 | 按位或
—|—
逻辑或用”or”表示。 | 按位或用”|”表示。
它仅适用于布尔值;即使我们使用表达式,它们也会被评估为True或False。 | 它适用于整数值和布尔值 打印(True | False) – > True **
它搜索True值,如果找到一个,它不会评估表达式的其余部分并返回”True”。这种现象被称为” **惰性评估
“。 | 即使运算符找到了True值,它仍然继续评估后面的表达式。
此运算符主要用于决策和真值测试。 | 按位运算符设计用于低级位操作。
大于0的每个数字被评估为”True”,等于0或小于0的每个数字被评估为”False”。 | 1表示”True”,0表示”False”。
在运算符层次结构中,按位运算符比逻辑运算符优先级高。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程