在上一篇文章中,我们对 Python 进行了简单介绍和介绍了 Python 的基本语法,现在我们继续介绍 Python 控制结构。

查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9966048.html

布尔比较

布尔

Python 有许多种数据类型,其中一种类型叫布尔,英文表示为 Boolean。它包含两个值:True 和 False。

有两种方式可以声明数据类型是布尔型。一种是直接声明,另外一种是通过值比较产生,比如等于运算符==。

>>> boolean =True>>>boolean

True>>> 1 == 2False>>> ‘me‘ == ‘me‘True

小心不要混淆了赋值运算符 = 和等于比较运算符 ==。

比较

另外一个比较运算符是不等于运算符 !=,如果两个值不相等返回True,否则返回 False。

>>> 1 != 1False>>> 1 != 2True>>> "day" != "today"True

我们还可以通过运算符来比较一种数是大于或小于另外一个数。他们是 > 和 < 运算符。

>>> 10 > 11False>>> 7 < 10True

在 Python 里还有大于或等于 >= 和小于或等于 <= 运算符。

它们与大于或小于运算符相同,只不过当两边值相等时,它们返回 True。

>>> 10 > 11False>>> 7 < 10True

大于或小于运算符也可用于比较字符串(单词的顺序就是它字的顺序,每一个字在计算里对应一个数字)。

if语句

if条件判断

空白区在 Python 中十分重要。实际上,空白区在各行的开头非常重要。这被称作缩进(Indentation)在行的开头留下空白区(使用空格和制表符)用以确定各行的缩进级别,而缩进级别又用于确定语句的分组。

这意味着相同条件的语句必须拥有相同的缩进,每一组这样的语句被称为块(block)。

我们使用 if 语句实现条件判断。根据 Python 的缩进规则,如果 if 语句的表达式计算结果为 True 那么缩进的代码块被执行了,否则缩进的代码块不会被执行。

ifname:

sex

错误的缩进会导致程序错误或发生你不期望的结果。

下面是 if 声明的例子:

if 10 < 20:print("10 smaller than 20")print("end")

表达式先判断 10 是否小于 20, 其运算结果为真,接下来运行缩进的那部分代码输出“10 smaller than 20”。然后运行不是 if 声明的那部分,也就是未缩进的那部分输出“end”。

>>>

10 smaller than 20end>>>

注意 if声明里的比较运算表达式需要冒号来结束。

如果程序包含多行代码,你应该将其创建一个文件并保存代码。在命令行下使用 python file name 来运行它。

我们经常会遇到比较复杂的判断条件,if 条件判断可以嵌套在 if 条件判断里。

也就是说内部的 if 条件判断是外部 if 条件判断的一部分吗,这样我们就能满足支持多种情况的条件判断。

num = 10

if num > 6:print("Bigger than 6")if num <= 40:print("Between 6 and 40")

运行结果:

>>>Bigger than6Between6 and 40

>>>

else语句

如果一个包含 else 语句的 if 条件判断,当 if 条件的判断值为 False 时,运行 else 里的语句。

像 if 语句一样,else 语句的代码也必须缩进。

x = 5

if x == 5:print("Yes")else:print("No")

运行结果:

>>>Yes>>>

else 语句也必须像 if 语句一样后面跟着冒号:。

我们可以嵌套 if 和 else 语句来判断哪个表达式是真的。

num = 4

if num == 5:print("Number is 5")else:if num == 10:print("Number is 10")else:if num == 4:print("Number is 4")else:print("Number isn‘t 4,5 or 10")

运行结果:

>>>Numberis 4

>>>

elif语句

elif 语句是else if 的缩写,主要用于多重判断的语句。

if elif 多重判断语句最后可以放置 else 语句,当前面if elif 多重判断语句最终无法在所有的分支上得出结果为 True 情况下,程序运行else语句。

num = 4

if num == 5:print("Number is 5")elif num == 10:print("Number is 10")elif num == 4:print("Number is 4")else:print("Number isn‘t 4,5 or 10")

运行结果:

>>>Numberis 4

>>>

if 语句执行有个特点,它是从上往下判断,如果在某个判断上是 True,则把该判断对应的语句执行后就忽略掉剩下的 elif 和 else。

在其他语言里elif 语句有不同的语法变化,比如 else if,elseif或elsif。

布尔逻辑判断

布尔逻辑判断用于为依赖于多个条件的if语句创造更复杂的条件。

Python 布尔逻辑运算符包含 and、or 和 not。

and 运算符评估其运算符两边的结果,如果两边返回结果都是 True则返回 True,否则返回 False 。

>>> 1 == 1 and 2 == 2True>>> 1 == 1 and 1 == 2False>>> 1 != 1 and 2 == 2False>>> 1 > 2 and 2 < 3False

Python 使用上面三个单词作为布尔逻辑运算符,其它语言使用符号 &&、|| 和 !。

or 运算符

or 运算符评估其运算符两边的结果,如果有其中一边运算的结果为 True 则返回 True,如果两边的结果都为 False 返回 False。

>>> 1 == 1 or 2 == 2True>>> 1 == 1 or 1 == 2True>>> 1 != 1 or 2 == 2True>>> 1 > 2 or 3 < 1False

Not 运算符

不像前面的两个运算符,not 只评估其右边的运算结果并返回相反的结果。not True 返回 False, not False 变成 True。

>>> not 1 != 1True>>> not 1 < 7False

我们可以在 if 判断里使用多个布尔逻辑运算符来处理多个条件判断。

运算优先级

运算优先次序是程序里比较重要的概念。

它是数学里运算顺序(比如:乘法优先于加法等)的体现和扩展。Python 的运算优先级包括其他的一些运算符,如布尔逻辑运算符。

下面代码显示 -- 运算符优先级高于 or 运算符。

>>> True or False ==False

True>>> (True or False) ==False

False>>> True or (False ==False)

True

Python 的运算顺序与普通数学的顺序相同:首先是括号,然后是指数,接着是乘除法,最后加减法。

下面的表格表示Python里有高到低的运算优先级。

下面代码会输出什么?

x = 2y= 4

if not 1 + 3 == y or x == 2 and 3 == 4:print("Yes")elif x

运行结果:

>>>No>>>

while 循环

我们看到if 语句只运行一次当它的条件判断为 True,当条件判断为 False 不会运行其块里的代码。

如果我们需要重复执行一个动作那么就需要 while 循环语句。当其条件判断为 True 它重复执行其代码块,而当条件判断为 False 时它不再执行其代码块,while 语句块下一部分的代码将被执行。

下面代码实例表明 x 变量从1加到5后退出代码块后输出"Finished!"。

x = 1

while x <= 5:print(x)

x+= 1

print("Finished!")

运行结果:

>>>

1

2

3

4

5Finished!>>>

代码块在 while 语句里重复执行,在计算机里我们叫它循环。

在 while 循环里,如果条件判断永远为 True 它将永远不会停止,我们称其为无限循环。

whileTrue:print("loop...")

上面代码永不停息地打印出"loop..."。

遇到这种情况,我们可以使用Ctrl+C 快捷键来关闭这程序的运行。(针对命令行)

break 语句

如果需要在代码块里跳出 while 循环,可以使用 break 语句。当在循环中遇到 break 语句,循环立即跳出 while 循环语句。

i =0whileTrue:print(i)

i+= 1

if i >= 5:print("Breaking")break

print("Finished!")

运行结果:

>>>01

2

3

4Breaking

Finished!>>>

注意:在循环外面使用 break 语句将会导致错误发生。

下面代码打印变量3次

i = 5

whileTrue:print(i)

i-= 1

if i <= 2:break

运行结果:

>>>

5

4

3

>>>

continue 语句

循环里面我们还可以使用 continue 语句。

不像 break 跳出整个循环并停止执行循环代码块,continue 语句停止执行循环代码块下面的部分并重新开始执行循环代码块。

i =0whileTrue:

i+= 1

if i == 2:print("Skipping 2")continue

if i == 6:print("Breaking")break

print(i)print("Finished")

运行结果:

>>>

1Skipping2

3

4

5Breaking

Finished>>>

continue 语句的作用是停止当前的循环并执行下一个循环。

在循环外面使用 continue 语句将会导致错误发生。

“小学课本上有一篇文章,叫小马过河,小马要过河,老马说河水非常浅,松鼠说河水深不见底,小马站在河前面进退两难,面对着即将要淌过四年的河,我突然觉得,如果你不得不过河,那么水深水浅,对你来说还重要么”——路桥川 《一起同过窗》

原文地址:https://www.cnblogs.com/dustman/p/9972078.html

python三种基本控制结构_Python学习手册之控制结构(一)相关推荐

  1. python三种等待方式_Python selenium 三种等待方式详解

    本文摘自:http://blog.csdn.net/huilan_same/article/details/52544521 发现太多人不会用等待了,博主今天实在是忍不住要给大家讲讲等待的必要性. 很 ...

  2. python控制结构(二)_Python学习手册之控制结构(二)

    在上一篇文章中,我们介绍了Python的一些控制结构,现在我们继续介绍剩下的 Python 控制结构.查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/9972 ...

  3. python三种基本数据类型_Python的三种基本数据类型

    数字 int(整型) long(长整型),python对长整型没有限制,理论上可以无限大.python3后没有long了. float 字符串 加了引号的都是字符串. 单引号和双引号没有约束,尽量避免 ...

  4. python点餐系统代码_Python学习手册(第4版).1

    装饰器就是一个给对象添加额外功能的函数,其本质是函数.它的基本构造:高阶函数+函数嵌套+闭包. 装饰器 即在代码运行期间动态增加功能的方式. 3大条件: 1. 函数可作为对象,赋值给变量,也就是函数可 ...

  5. Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n

    Python 三种读文件方法read(), readline(), readlines()及去掉换行符\n 首先, 让我们看下数据demo.txt, 就两行数据. 35durant teamGSW 1 ...

  6. python三种注释方法

    python三种注释方法 方式1: 单行注释:shift + #(在代码的最前面输入,非选中代码进行注释) 多行注释:同单行一样在每一行的前面输入shift + #(较麻烦了) 方式2: 单行和多行一 ...

  7. python三种方法实现阶乘

    # python三种方法实现阶乘 # while循环实现阶乘 def fact(n):if n == 0:return 1 # 0 的阶乘为 1elif n < 0:return '负数没有阶乘 ...

  8. python三种保留两位小数的方法

    python三种保留两位小数方法汇总 1.'%.2f'%f 该方法会进行四舍五入 代码如下所示: f = 2.3456789print('%.2f'%f) print('%.3f'%f) print( ...

  9. python三种数据类型_Python零基础入门学习02:Python基本数据类型:数字类型

    注 :本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python学习 Python有三种不同的数字类型:整数(int),浮点数(float)和复数(complex). 值得注意的 ...

最新文章

  1. iOS 9 适配系列教程
  2. 上海交通大学乐经良高数手写笔记-一元积分学
  3. 爬虫学习笔记(九)—— Scrapy框架(四):FormRequest、日志
  4. ubuntu装双系统win7和linux,Ubuntu下安装WIn7(双系统)
  5. K-Means 基本原理
  6. recv, recvfrom, recvmsg
  7. Ubuntu扩展触摸屏触控错位修复
  8. juqery-筛选器-找前后上下
  9. android shell强制删除文件夹_别再乱清手机内存了,删除这3个“特殊”文件夹!空间释放8GB...
  10. 程序员 520 脱单指南!
  11. SAP 是不是很烂的一个ERP软件
  12. shield tv android tv,NVIDIA老机顶盒SHIELD TV升级安卓7.0:国行眼巴巴
  13. sqlserver2005安装(附加sqlserver2005 和 sqlserver2005 sp4补丁,完整安装包)
  14. 免费手机电脑同屏神器——Mirroid
  15. 最炫黑科技还得谷歌!一副眼镜告别学外语,一个地图App在家沉浸式环球游
  16. 河北等保测评机构项目测评收费价格标准参考
  17. TSC2046EIPWR 德州TI 具有低压数字 I/O 和扩展 ESD 保护的 4 线触摸屏控制器
  18. <<视觉问答>>2022:CLIP Models are Few-shot Learners: Empirical Studies on VQA and Visual Entailment
  19. 2016-09-01[关于Paint笔触的了解]
  20. Ubuntu 下旋转显示器屏幕

热门文章

  1. 使用Yeoman定制前端脚手架
  2. DOM获取元素位置的三大系列offset/scroll/client
  3. LINQ系列:LINQ to SQL Join连接
  4. 博客No.1活动暂停公告
  5. VC++动态链接库(DLL)编程深入浅出(zz)
  6. WCF生成客户端对象方式解析
  7. 如何安装Windows操作系统?(二)安装启动项杂谈
  8. 阿里云在线web IDE:云效云端开发 DevStudio(ide.aliyun.com)
  9. 查看win10剩余激活时间
  10. arthas案例:哪个controller处理了请求?每个请求的调用参数和返回值是多少?