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

相关推荐

  1. Python基础流程控制语句

    2024-03-27 14:28:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 14:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 14:28:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 14:28:01       82 阅读
  4. Python语言-面向对象

    2024-03-27 14:28:01       91 阅读

热门阅读

  1. pg事务ID清理

    2024-03-27 14:28:01       37 阅读
  2. C#中让字典、列表、数组作为只读的方法参考

    2024-03-27 14:28:01       40 阅读
  3. C#基础-VS中常用代码段快速输入

    2024-03-27 14:28:01       35 阅读
  4. 程序员开发技术整理

    2024-03-27 14:28:01       33 阅读
  5. Vue小练习:记录任务所花费时间

    2024-03-27 14:28:01       44 阅读
  6. 分布式事务

    2024-03-27 14:28:01       42 阅读
  7. vue自定义组件实现父子组件数据双向绑定

    2024-03-27 14:28:01       38 阅读
  8. 网络连接中——长连接和短连接详解

    2024-03-27 14:28:01       39 阅读
  9. 物联网(IoT)常用的通信协议

    2024-03-27 14:28:01       40 阅读