【100天精通python】Day4:运算符

news2024/10/6 8:27:12

目录

1 算数运算符

2 赋值运算符

3 比较(关系运算符)

4 逻辑运算符

5 位运算符

6 运算符的优先级

以下是一个完整的示例代码,用于计算学生三科成绩的分差和平均分:


1 算数运算符

Python中的算术运算符包括:

  • 加法:+
  • 减法:-
  • 乘法:*
  • 除法:/
  • 取余:%
  • 整除://
  • 指数:**

如下表: 

 这些运算符可以用于对数字进行基本的算术操作。例如,可以使用加法运算符将两个数字相加,使用乘法运算符计算两个数字的乘积,使用除法运算符计算两个数字的商等等。

以下是一些示例:

a = 10
b = 5

print(a + b)  # 输出:15
print(a - b)  # 输出:5
print(a * b)  # 输出:50
print(a / b)  # 输出:2.0
print(a % b)  # 输出:0
print(a // b) # 输出:2
print(a ** b) # 输出:100000

2 赋值运算符

Python中的赋值运算符用于将一个值赋给变量。以下是常用的赋值运算符:

  • 等号:=
  • 加法赋值:+=
  • 减法赋值:-=
  • 乘法赋值:*=
  • 除法赋值:/=
  • 取余赋值:%=
  • 整除赋值://=
  • 指数赋值:**=

如下表: 

这些赋值运算符将右侧的值赋给左侧的变量,并将结果保存在变量中。例如:

x = 10
y = 5

x += y  # 等同于 x = x + y
print(x)  # 输出:15

x -= y  # 等同于 x = x - y
print(x)  # 输出:10

x *= y  # 等同于 x = x * y
print(x)  # 输出:50

x /= y  # 等同于 x = x / y
print(x)  # 输出:10.0

x %= y  # 等同于 x = x % y
print(x)  # 输出:0.0

x //= y  # 等同于 x = x // y
print(x)  # 输出:0.0

x **= y  # 等同于 x = x ** y
print(x)  # 输出:0.0

3 比较(关系运算符)

在Python中,比较运算符用于比较两个值之间的关系,返回一个布尔值(True或False)。以下是常用的比较运算符:

  • 等于:==
  • 不等于:!=
  • 大于:>
  • 小于:<
  • 大于等于:>=
  • 小于等于:<=

如下表: 

比较运算符用于比较两个值并确定它们之间的关系。例如:

x = 5
y = 10

print(x == y)  # 输出:False
print(x != y)  # 输出:True
print(x > y)   # 输出:False
print(x < y)   # 输出:True
print(x >= y)  # 输出:False
print(x <= y)  # 输出:True

4 逻辑运算符

在Python中,逻辑运算符用于组合和操作布尔值(True或False)。以下是Python中常用的逻辑运算符:

  • 逻辑与:and
  • 逻辑或:or
  • 逻辑非:not

逻辑与(and)运算符返回两个操作数都为True时的结果为True,否则为False。

逻辑或(or)运算符返回两个操作数中至少一个为True时的结果为True,否则为False。

逻辑非(not)运算符用于取反,将True变为False,将False变为True。

例如:

x = True
y = False

print(x and y)   # 输出:False
print(x or y)    # 输出:True
print(not x)     # 输出:False

5 位运算符

在Python中,位运算符用于对整数的二进制位进行操作。以下是Python中常用的位运算符:

  • 按位与:&
  • 按位或:|
  • 按位异或:^
  • 按位取反:~
  • 左移:<<
  • 右移:>>

这些位运算符可以直接对整数的二进制表示进行操作,对每个位进行逻辑运算。下面是一些示例:

x = 5   # 二进制表示为 0101
y = 3   # 二进制表示为 0011

print(x & y)    # 输出:1,二进制表示为 0001,按位与操作
print(x | y)    # 输出:7,二进制表示为 0111,按位或操作
print(x ^ y)    # 输出:6,二进制表示为 0110,按位异或操作
print(~x)       # 输出:-6,二进制表示为 11111111111111111111111111111010,按位取反操作
print(x << 1)   # 输出:10,二进制表示为 1010,左移操作
print(y >> 1)   # 输出:1,二进制表示为 0001,右移操作

6 运算符的优先级

在Python中,不同的运算符具有不同的优先级。当表达式中包含多个运算符时,Python会根据运算符的优先级来确定它们的执行顺序。下面是Python中常见运算符的优先级从高到低的顺序:

  1. 括号:()
  2. 幂运算:**
  3. 一元正号和负号:+x、-x
  4. 乘法、除法、取模、整除:*、/、%、//
  5. 加法和减法:+、-
  6. 位移运算:<<、>>
  7. 按位与:&
  8. 按位异或:^
  9. 按位或:|
  10. 比较运算符:==、!=、>、<、>=、<=
  11. 逻辑运算符:and、or、not
  12. 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=、&=、|=、^=、>>=、<<=

如下表:

”这只是一般情况下的运算符优先级顺序,实际使用时可以根据需要使用括号来明确指定运算的顺序。当表达式中存在多个运算符时,Python会根据优先级来确定运算的顺序,从高优先级到低优先级逐个执行运算。

以下是一个示例,演示了不同运算符的优先级:

x = 2 + 3 * 4  # 乘法优先级高于加法,结果为 14
y = (2 + 3) * 4  # 括号优先级高于乘法,结果为 20
z = 2 ** 3 ** 2  # 幂运算从右到左结合,结果为 512

总结:以下是Python中常见运算符及其优先级的完整示例代码,该示例演示了常见的算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符的使用,并展示了运算符优先级的影响。

# 算术运算符
x = 10
y = 3

addition = x + y  # 加法
subtraction = x - y  # 减法
multiplication = x * y  # 乘法
division = x / y  # 除法
modulus = x % y  # 取模
floor_division = x // y  # 整除
exponentiation = x ** y  # 幂运算

# 赋值运算符
a = 5
b = 10

a += b  # 相当于 a = a + b
a -= b  # 相当于 a = a - b
a *= b  # 相当于 a = a * b
a /= b  # 相当于 a = a / b
a %= b  # 相当于 a = a % b
a //= b  # 相当于 a = a // b
a **= b  # 相当于 a = a ** b

# 比较运算符
x = 5
y = 10

equal = x == y  # 等于
not_equal = x != y  # 不等于
greater_than = x > y  # 大于
less_than = x < y  # 小于
greater_than_or_equal = x >= y  # 大于等于
less_than_or_equal = x <= y  # 小于等于

# 逻辑运算符
a = True
b = False

logical_and = a and b  # 逻辑与
logical_or = a or b  # 逻辑或
logical_not = not a  # 逻辑非

# 位运算符
x = 5
y = 3

bitwise_and = x & y  # 按位与
bitwise_or = x | y  # 按位或
bitwise_xor = x ^ y  # 按位异或
bitwise_not = ~x  # 按位非
left_shift = x << y  # 左移
right_shift = x >> y  # 右移

# 运算符优先级示例
result = 2 + 3 * 4 - 5 / 2 ** 2  # 结果为 10.5

print(result)

以下是一个完整的示例代码,用于计算学生三科成绩的平均分和其中两科分差:

# 学生成绩
score_math = 90
score_english = 85
score_science = 92

# 计算分差
diff = score_math - score_english 

# 计算平均分
average = (score_math + score_english + score_science) / 3

# 输出结果
print("分差:", diff)
print("平均分:", average)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/757448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在pd里设置win10虚拟机command+w关闭chrome浏览器的一个标签页

背景 在windows&#xff0c;我们知道 ctrlw 在chrome浏览器里可以关闭一个标签页&#xff0c;但是对于MacOS&#xff0c;pd的虚拟机里安装win10后&#xff08;pdparallel desktop)&#xff0c;commandw默认并不是料想中的相当于ctrlw关闭一个标签页&#xff0c;而是关闭所有的…

MPP概述

前言 最近忙于工作&#xff0c;有一段时间没更新自己的博客了&#xff0c;也就意味着囤积了一波需要梳理总结并记录的知识点&#xff0c;但可以保证的是所有都是零星的知识点&#xff0c;不会涉及工作内容。 一、MPP简介 MPP (Massively Parallel Processing)&#xff0c;即大…

Cisco学习笔记(CCNA)——Internetworking

Internetworking Internetworking Basics 什么是网络&#xff1f; 计算机网络&#xff1a;具有独立功能的多台计算机及其外部设备&#xff0c;通过通信线路连接起来 网络设备 Hub&#xff08;集线器&#xff09; 优点&#xff1a;便宜、操作简单 缺点&#xff1a;共享型、…

Set与Map的使用 + 二叉搜索树与哈希桶的大白话讲解和图解+完整代码实现(详细注释)

文章目录 前言一、Set与Map概念及场景模型纯Key模型Key-Value模型 Map 的使用Set 的使用 二、二叉搜索树什么是二叉搜索树代码实现二叉搜索树查找操作插入操作删除操作(难点)cur这个节点没有左子树(cur.left null)cur这个节点没有右子树(cur.right null)cur这个节点没有左右子…

springboot与rabbitmq的整合【演示5种基本交换机】

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final&#xff0c;一名热爱技术的在校学生。 &#x1f4dd;个人主页&#xff1a;个人主页1 || 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;后端专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;…

基于梯度下降的线性回归(Gradient Descent For Linear Regression)

概述&#xff1a; 梯度下降是很常用的算法&#xff0c;它不仅被用在线性回归上和线性回归模型、平方误差代价函数。在本次&#xff0c;我们要将梯度下降和代价函数结合。我们将用到此算法&#xff0c;并将其应用于具体的拟合直线的线性回归算法里。 梯度下降算法和线性回归算法…

Cell 子刊 | 深度睡眠脑电波调节胰岛素敏感性促进血糖调节

缺乏高质量的睡眠会增加一个人患糖尿病的风险。然而&#xff0c;为什么会这样仍然是一个不解之谜。 近期&#xff0c;加州大学伯克利分校的一组睡眠科学家的新发现为我们揭示了答案。研究人员在人体内发现了一种潜在的调控机制&#xff0c;解释了为什么夜间深度睡眠脑电波能够调…

数据结构(王道)——线性表之静态链表顺序表和链表的比较

一、静态链表 定义&#xff1a; 代码实现&#xff1a; 如何定义一个静态链表 静态链表的基本操作思路&#xff1a; 初始化静态链表&#xff1a; 静态链表的查找、插入、删除 静态链表总结&#xff1a; 二、顺序表和链表的比较 逻辑结构对比&#xff1a; 存储结构对比&#xff…

golang关于成员变量使用:=

错误 错误原因 结构体成员变量不能与:一起用&#xff0c;这是一个语法错误。

Mybatis架构简介

文章目录 1.整体架构图2. 基础支撑层2.1 类型转换模块2.2 日志模块2.3 反射工具模块2.4 Binding 模块2.5 数据源模块2.6缓存模块2.7 解析器模块2.8 事务管理模块3. 核心处理层3.1 配置解析3.2 SQL 解析与 scripting 模块3.3 SQL 执行3.4 插件4. 接口层1.整体架构图 MyBatis 分…

SpringMVC【SpringMVC参数获取、SpringMVC处理响应】(二)-全面详解(学习总结---从入门到深化)

目录 SpringMVC参数获取_使用Servlet原生对象获取参数 SpringMVC参数获取_自定义参数类型转换器 SpringMVC参数获取_编码过滤器 SpringMVC处理响应_配置视图解析器 SpringMVC处理响应_控制器方法的返回值 SpringMVC处理响应_request域设置数据 SpringMVC处理响应_sessi…

【动手学深度学习】--02.Softmax回归

文章目录 Softmax回归1.原理1.1 从回归到多类分类1.2三种常见的损失函数 2.图像分类集2.1读取数据集2.2读取小批量2.3整合组件 3.从零实现Softmax回归3.1初始化模型参数3.2定义softmax操作3.3定义模型3.4定义损失函数3.5分类精度3.6训练3.7预测 4.softmax回归的简洁实现4.1初始…

计网笔记--应用层

1--网络程序的组织方式和关系 网络应用程序在各种端系统上的组织方式及其关系主要有两种&#xff1a; 客户/服务器方式&#xff08;C/S方式&#xff09;和对等方式&#xff08;P2P方式&#xff09;&#xff1b; 2--动态主机配置协议&#xff08;DHCP&#xff09; 动态主机配置协…

26 sigmoid Belief Network

文章目录 26 Sigmoid Belief Network26.1 背景介绍26.2 通过log-likelihood推断SBN的后验26.3 醒眠算法——Wake Sleep Algorithm 26 Sigmoid Belief Network 26.1 背景介绍 什么是Sigmoid Belief Network&#xff1f;Belief Network等同于Bayesian Network&#xff0c;表示有…

新手如何自学PostgreSQL(PG)

如果你是一个新手&#xff0c;想要自学PostgreSQL&#xff0c;下面是一些步骤和资源&#xff0c;可以帮助你入门&#xff1a; ①了解数据库基础知识&#xff1a;在开始学习PostgreSQL之前&#xff0c;建议你先了解一些数据库的基础概念和术语&#xff0c;例如表、列、行、SQL查…

【Elasticsearch】搜索结果处理和RestClient查询文档

目录 2.搜索结果处理 2.1.排序 2.1.1.普通字段排序 2.1.2.地理坐标排序 2.2.分页 2.2.1.基本的分页 2.2.2.深度分页问题 2.2.3.小结 2.3.高亮 2.3.1.高亮原理 2.3.2.实现高亮 2.4.总结 3.RestClient查询文档 3.1.快速入门 3.1.1.发起查询请求 3.1.2.解析响应 …

LangChain(6)构建用户自己的Agent

构建用户自己的Agent 编写简单的计算工具编写有多个参数的工具其它更高级的工具 LangChain 中有一些可用的Agent内置工具&#xff0c;但在实际应用中我们可能需要编写自己的Agent。 编写简单的计算工具 !pip install -qU langchain openai transformersfrom langchain.tools …

Spring-Interceptor拦截器

使用步骤 申明拦截器bean&#xff0c;并实现HandlerInterceptor接口 true为放行&#xff0c;false为拦截 2.定义配置类&#xff0c;继承WebMvcConfigurationSupport&#xff0c;实现addInterceptors方法&#xff0c;该方法调用具体的拦截器进行拦截 也可以在配子类通过实现W…

HTPP入门教程||HTTP 状态码||HTTP content-type

HTTP 状态码 当浏览者访问一个网页时&#xff0c;浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前&#xff0c;此网页所在的服务器会返回一个包含 HTTP 状态码的信息头&#xff08;server header&#xff09;用以响应浏览器的请求。 HTTP 状态码的英文为…