【第二部分--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语句。

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

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

相关文章

Java是用什么语言写的?PHP呢?

Java底层是C语言。 Sun公司研发人员根据嵌入式软件的要求,对C进行了改造,去除了留在C的一些不太实用及影响安全的成分,并结合嵌入式系统的实时性要求,开发了一种称为Oak的面向对象语言。而后,经过迭代更新&#xff0c…

SV-7041VP SIP塑料壳sip音箱支持POE供电(白色弧形)

SV-7041VP SIP塑料壳sip音箱支持POE供电 (白色弧形) 一、描述18123651365微信 SV-7041VP是深圳锐科达电子有限公司的一款壁挂式SIP网络有源音箱,具有10/100M以太网接口,可将网络音源通过自带的功放和喇叭输出播放,可…

一些常用的正则(持续更新)

常用正则合集 1、匹配字符串中的所有标签&#xff0c;拆分字符串并且将标签作为单独一项 1、匹配字符串中的所有标签&#xff0c;拆分字符串并且将标签作为单独一项 /(<\/?.?>)/g splitStringByTags 函数接受一个参数 inputString&#xff0c;然后使用正则表达式/(&l…

QT的 纯代码+注释 学习笔记

QT学习笔记链接 更新到数据库操作为止..ing

微信怎么恢复聊天记录?效果惊人的3个方法

微信作为我们日常生活中最常用的即时通讯工具之一&#xff0c;承载着我们与亲友之间的重要沟通记录。然而&#xff0c;不可避免地会遇到误删聊天记录的情况&#xff0c;可能是因为手误、设备问题或其他原因。 当我们发现重要的聊天记录不见了&#xff0c;往往会感到焦虑和困扰…

题目:求和(蓝桥真题)

问题描述&#xff1a; 解题思路&#xff1a; 暴力超时&#xff0c;S变换得S a1*(a2.....an) a2*(a3....an) .... an-1*an。因此只需要求出括号内前缀和再相加求和即可。时间复杂度大大减小。 注意点&#xff1a;ans和前缀和的大小要开long long。 题解&#xff1a; #includ…

openGauss学习笔记-252 openGauss性能调优-使用Plan Hint进行调优-Scan方式的Hint

文章目录 openGauss学习笔记-252 openGauss性能调优-使用Plan Hint进行调优-Scan方式的Hint252.1 功能描述252.2 语法格式252.3 参数说明252.4 示例 openGauss学习笔记-252 openGauss性能调优-使用Plan Hint进行调优-Scan方式的Hint 252.1 功能描述 指明scan使用的方法&#…

论文:Term-Weighting Approaches in Automatic Text Retrieval翻译笔记(自动文本检索中的术语加权方法)

文章目录 论文标题&#xff1a;自动文本检索中的术语加权方法摘要1. 自动文本分析2. 词权重规范3. 术语加权实验4 推荐4.1 查询向量4.2 文档向量 论文标题&#xff1a;自动文本检索中的术语加权方法 论文链接&#xff1a;https://www.cs.colostate.edu/~howe/cs640/papers/sal…

javaWeb健康管理系统

一、引言 1.1 设计背景 紧张的工作节奏、教学和科研的压力、个人不良的工作生活习惯、以及伴随工作压力而来的家庭关系、人际关系紧张等因素使得高校群体成为慢性病的高发群体[1]。学生入学的定期体检&#xff0c;教职工人入职体检&#xff0c;以及所有学生和教职工的定期体检…

Leetcode 3.26

Leetcode Hot 100 一级目录1.每日温度 堆1.数组中的第K个最大元素知识点&#xff1a;排序复杂度知识点&#xff1a;堆的实现 2.前 K 个高频元素知识点&#xff1a;优先队列 一级目录 1.每日温度 每日温度 思路是维护一个递减栈&#xff0c;存储的是当前元素的位置。 遍历整个…

宁波中墙建材预制混凝土模板、铝合金模板、方木有啥区别?可送奉化鄞州海曙慈溪杭州湾前湾北仑

宁波中墙建材预制混凝土模板、铝合金模板、方木有啥区别&#xff1f;可送奉化鄞州海曙慈溪杭州湾前湾北仑 预制混凝土模板、铝合金模板和方木是三种不同的建筑模板材料&#xff0c;它们各自拥有独特的特性和用途。 预制混凝土模板&#xff1a;这种模板通常是由工厂预制的混凝土…

LeetCode-热题100:34. 在排序数组中查找元素的第一个和最后一个位置

题目描述 给你一个按照非递减顺序排列的整数数组 nums&#xff0c;和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target&#xff0c;返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1…

各种编程语言的优缺点

当谈论编程语言时&#xff0c;我们进入了一个充满激情和争议的领域。每种编程语言都有其独特的优点和局限性&#xff0c;适用于不同的场景。让我们简要评价一些主流编程语言&#xff0c;探讨它们的优缺点和应用领域。 来来来,老铁们,男人女人都需要的技术活 拿去不谢:远程调试,…

LeetCode-热题100:33. 搜索旋转排序数组

题目描述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], n…

第三十四章 配置服务器访问

文章目录 第三十四章 配置服务器访问添加应用程序路径应用程序路径配置参数 第三十四章 配置服务器访问 本页介绍如何配置 网关连接的应用程序。对于这些配置任务&#xff0c;可以使用 Web Gateway 管理页面。其他文章介绍了如何配置默认设置和服务器。 每个Web 应用程序都必…

Ubuntu 下统计文件数量的命令

参考:https://blog.csdn.net/kxh123456/article/details/123811580 查看当前目录下的文件数量&#xff08;不包含子目录中的文件&#xff09; ls -l|grep "^-"| wc -l实例展示&#xff1a;如下图所示&#xff0c;当前路径下&#xff0c;有2个json文件和2个文件夹&a…

CMC学习系列 (1):EEG-EMG相干性均局限于对侧,同侧无显著相干性

CMC学习系列:EEG-EMG相干性均局限于对侧&#xff0c;同侧无显著相干性 0. 引言1. 主要贡献2. 方法和结果2.1 EEG-EMG相干谱2.2 EEG-EMG相干性地形图2.3 3种任务受影响侧与未受影响侧的一致性比较 3. 讨论和结论4. 总结欢迎来稿 论文地址&#xff1a;https://www.ahajournals.or…

函数进阶-Python

师从黑马程序员 函数中多个返回值的接收 def test_return():return 1,"hello",3x,y,ztest_return() print(x) print(y) print(z) 多种参数的使用 函数参数种类 位置参数 关键字参数 def user_info(name,age,gender):print(f"姓名是{name},年龄是:{age},性别是…

SublimtText修改远程机器文件

Sublime Text 本身并不强大&#xff0c;但是它方便使用插件扩展功能&#xff0c;所以变得很强大。今天介绍一个很实用的插件 SFTP &#xff0c;可以大大提高前端工作效率。 SFTP 安装 1. 打开 Sublime Text 2. 快捷键 shift ctrl p 键&#xff0c;呼出面板 3. 使用 Packag…

【深度学习】最强算法模型之:潜在狄利克雷分配(LDA)

潜在狄利克雷分配 1、引言2、潜在狄利克雷分配2.1 定义2.2 原理2.3 算法公式2.4 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c; 给我讲一讲LDA 小鱼&#xff1a;LDA&#xff1f; 你指的是&#xff1f; 小屌丝&#xff1a;就是算法模型的LDA啊&#xff0c; 你…