【第二部分--Python之基础】02

二、运算符与程序流程控制

1、运算符

1.1 算术运算符

算术运算符用于组织整数类型和浮点类型的数据,有一元运算符二元运算符之分。

一元算术运算符有两个:+(正号)和-(负号),例如:+a还是a,-a是对a的取反运算。

二元算术运算符如右表所示

 

1.2 比较运算符

比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据,即True或False。

比较运算符可用于任意类型的数据,但参与比较的两种类型的数据要相互兼容,即能进行隐式转换。例如:整数、浮点和布尔这三种类型是相互兼容的。

 

 1.3 逻辑运算符

 逻辑运算符用于对布尔型变量进行运算,其结果也是布尔型

Python也采用了“短路”设计。“短路”指逻辑与”和“逻辑或”在计算过程中只要结果确定则不再计算后面的表达式,从而提高效率,有点像电路短路。

 

 

 

 1.4 位运算符

位运算是以二进位(bit)为单位进行运算的,操作数和结果都是整数类型的数据

 

 

按位取反运算中涉及原码、补码、反码运算,比较麻烦。我归纳总结了一个公式:~a=(a+1)X-1,如果a为十进制数178,则~a为十进制数-179;如果a为十进制数-20,则~a为十进制数19。怎么样,这个公式好用吧!

1.5 赋值运算符

 赋值运算符只是一种简写只有算术运算和位运算中二元运算符才有对应的赋值运算符。

 

 

 1.6 运算符的优先级

 

位运算中的难点位反、右移和左移,位反过程比较复杂但可以使用我归纳的公式~a=(a+1)x-1推算出结果右移时高位采用符号位补位符号位为1说明是负数,用1补位;符号位为0说明是正数,用0补位。

位运算优先级中,优先级从高到低大体是:算术运算符位运算符→关系运算符→逻辑运算符→赋值运算符。

2、程序流程控制

2.1 分支语句

Python的设计理念是简单、刚好够用,所以在Python中没有switch语句,多分支功能是通过if-elif-else实现的

2.1.1 if 结构 

if结构的语法如下: 

示例代码如下:

 

2.1.2 if-else 结构

if-else结构的语法如下:

 

 示例代码如下:

 2.1.3 if-elif-else 结构

 if-elif-else结构的语法如下:

示例代码如下:

2.2 循环语句

Python支持两种循环语句:while和for

2.2.1 while语句

在Python中只有while语句,没有do-while语句。while语句先判断循环条件,若条件为True则执行循环体。

一个简单的示例代码如下:

 

 示例代码如下:

 修改示例代码:

 可以对比一下语句的运行结果:

 2.2.2 for语句

基于简单的设计理念,在Python中只有一种for语句,即for-in语句,它可以遍历任意可迭代对象中的元素

注:可迭代对象包括字符串、列表、元组、集合和字典等。

 

示例代码如下:

 

示例代码如下:

 修改示例代码:

 可以对比一下语句的运行结果:

 2.3 跳转语句

跳转语句能够改变程序的执行顺序,包括break、continue和returnbreak和continue用于循环体中而return用于函数中。本节先介绍break和continue语句,对于return语句,将在后面的章节中介绍。

2.3.1 break语句

break语句用于强行退出循环体,不再执行循环体中剩余的语句

 示例代码如下:

 只循环了3次,item==3之后的数据不会被打印出来。

2.3.2 continue语句

 continue语句用于结束本次循环,跳过循环体中尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。

 示例代码如下:

注意:在输出结果中没有3。

2.4 动动手——计算水仙花数

下面编写代码,通过while循环计算出水仙花数。提示:水仙花数是一个三位数,三位数各位的立方之和等于三位数本身。

下页给出的只是参考代码,你可以自由发挥。计算出的水仙花数有4个:153、370、371和407。

计算结果: 

本章的难点是循环语句(while和for)中的else语句。记住:在循环体正常结束时会执行else语句,如果发生中断,则不运行else语句。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

单臂路由和三层交换机

目录 一.单臂路由 1.单臂路由的工作原理 2.单臂路由的配置 2.1画出拓扑图 2.2配置PC 2.3配置交换机 2.4配置路由器 2.5测试 二.三层交换机 1.三层交换机的概述 2.三层交换机的配置 2.1画出拓扑图 2.2配置PC 2.3配置二层交换机 2.4配置三层交换机 2.5测试 3.拓展 三.总结 一.…

【linux深入剖析】基础IO操作 | 使用Linux库函数实现读写操作 | 文件相关系统调用接口

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 前言1.复习C文件IO相关操…

【Java面试题】计算机网络

文章目录 1.计算机网络基础1.1网络分层模型/OSI七层模型是什么?1.2TCP/IP四层模型是什么?每一层的作用?1.2.1TCP四层模型?1.2.2为什么网络要分层? 1.2常见网络协议1.2.1应用层常见的协议1.2.2网络层常见的协议 2.HTTP2…

2024年天津农学院退役大学生士兵专升本专业课报名的通知

天津农学院2024年退役大学生士兵高职升本科专业课考试报名的通知 按照《2024年天津市高职升本科招生实施办法》(津招办高发〔2023〕14号)文件要求,现将天津农学院2024年高职升本科退役大学生士兵专业课考试报名、确认、缴费及考试等具体事项…

C++入门(一)

目录 命名空间: 为什么要提出命名空间? 命名空间的定义: 命名空间的使用: 加命名空间名称及作用域限定符: 使用using将命名空间中某个成员引入: 使用using namespace命名空间名称引用: C…

惊艳亮相!新版飞桨星河社区邀您共赴星辰大海

亲爱的开发者们: ​一场始于好奇、归于热爱的邂逅,让开发者们在飞桨星河社区相聚,相逢于活动、课程、比赛、项目……五年来,千万开发者的共同参与,让这个社区更富活力、更加温暖。 2018年,AI Studio 1.0版…

解决里面 switch里面解决非 final 资源 ID 相关的报错

报错 在只需要在gradle.properties下代这行代码码解决问题 #android.nonFinalResIdsfalse 其他配置 android.useAndroidXtrue android.enableJetifiertrue android.injected.testOnlyfalse android.nonTransitiveRClasstrue android.nonFinalResIdsfalse 解释如下&#xff1…

Longhorn简介

Longhorn 是 Kubernetes 的轻量级、可靠且易于使用的分布式块存储系统。 Longhorn 是免费的开源软件。最初由 Rancher Labs 开发,现在作为CNCF( Cloud Native Computing Foundation )的沙箱项目进行开发。 使用 Longhorn,您可以&…

建筑结构设计的内容与要求,建筑工程结构设计资料大全

一、资料描述 本套建筑设计资料,大小4.62G,1个压缩文件。 二、资料目录 0-结构设计 1-快速建模方法 A-satwe资料 B-剪力墙资料 C-地下室资料 D-基础 E-楼梯 F-水池 G-砖混结构 H-挡土墙 I-框剪结构 J-常用规范 K-配筋率计算方法 L-底框结…

机器学习笔记(2)—单变量线性回归

单变量线性回归 单变量线性回归(Linear Regression with One Variable)1.1 模型表示1.2 代价函数1.3 代价函数的直观理解1.4 梯度下降1.5 梯度下降的直观理解1.6 梯度下降的线性回归 单变量线性回归(Linear Regression with One Variable) ps:...今天很倒霉 一名小女孩悄悄地碎…

【Java程序设计】【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文)

【C00376】基于(JavaWeb)Springboot的社区帮扶对象管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发&am…

常见的端口漏洞

ftp FTP服务端有很多 anonymous 匿名未授权访问 爆破ssh root密码爆破 后门用户 可以google查一些关于ssh后门的文章 里面的默认密码 可能会登入进去telnet 一般会发生在 路由器 或者交换机 嵌入式设备 管理端口 攻击方法 弱口令 25 smtp 默认用户 默认密码 邮件账号爆破 80 ht…

DasViewer电脑客户端打开文件夹时,一直显示崩溃,该怎么解决?

问题如图 如若用的是DasViewer V3.2.4Beta版本,可以换回3.2.1版本进行尝试。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便快捷的数据浏…

【Linux】生产者消费者模型{基于BlockingQueue的PC模型/RAII风格的加锁方式/串行,并行,并发}

文章目录 1.认识PC模型2.基于BlockingQueue的PC模型2.1串行,并行,并发2.2理解linux下的并发2.2RAII风格的加锁方式2.3阻塞队列2.4深入理解pthread_cond_wait2.5整体代码1.Task.hpp2.lockGuard.hpp3.BlockQueue.hpp4.pcModel.cc 3.总结PC模型 1.认识PC模型…

校园气象观测站-科普教育

TH-XQ4校园气象观测站的作用主要体现在以下几个方面: 气象监测与数据收集:校园气象观测站能够实时监测并记录校园及其周边区域的气象数据,如温度、湿度、风速、风向、降雨量等。这些数据对于了解当地气候特点、分析气候变化趋势以及预测未来天…

“人工智能+”国家战略会带来哪些机会?

一、“人工智能”战略背景 2024年的中国政府工作报告首次引入了“人工智能”的概念,这是国家层面对于人工智能技术和各行业深度融合的重要战略举措。这一概念的提出意味着我国将进一步深化人工智能技术的研发应用,并积极推动人工智能与经济社会各领域的…

JS——三维评分确定客户等级

一、需求描述:如下图,目前有ABC三个维度的评分,每个维度有10个得分区间,客户评分落在1-4区间则等级为E,落在5—8区间则等级为D,落在9-10区间则等级为C,C为对称轴,B和D对称&#xff0…

网络安全——容器安全 不容忽视!

容器安全是使用安全工具和策略来保护容器化应用程序的各个方面免受潜在风险的过程。 为什么容器安全很重要? 随着世界各地的组织向容器化基础设施过渡,越来越多的关键工作负载在容器中运行,使它们成为攻击者的主要目标。受损的容器可能会威胁…

如何在半个月时间通过软考中级考试?软考改革后、不可不知机考的一些注意事项?

前言 文章底部有彩蛋!!! 去年工作之余备考了半个月、一次通过了软件设计师考试。这篇文章主要分享自己的备考经验以及软考改革后 机考注意点、希望对今年五月份参加软考的朋友有些帮助 拥有软考证书的好处 1、软考证书认可度高: 近年来《国家…

【面试经典150 | 】最长递增子序列

文章目录 Tag题目来源解题思路方法一:动态规划 写在最后 Tag 【动态规划】【数组】 题目来源 300. 最长递增子序列 解题思路 方法一:动态规划 定义状态 dp[i] 表示以位置 i 对应整数为末尾的最长递增子序列的长度。 状态转移 我们从小到大计算 dp…