584|3

6483

帖子

9

TA的资源

版主

楼主
 

《Python编程快速上手》3、通过试验了解控制流 [复制链接]

        我们已经了解了单条指令的基本知识。接下来控制流,其实就是逻辑判断,“控制流语句”可以决定在什么条件下执行哪些 Python 语句。
        就像如下的流程图,通常有不止一种方法从开始走到结束。计算机程序中的代码行也是这样。流程图用菱形表示这些分支节点,其它步骤用矩形表示。开始和结束步骤用带圆角的矩形表示。
        在学习流程控制语句之前,我们要了解一下布尔值、比较操作符和布尔操作符。
        “布尔”数据类型只有两种值:True 和 False。Boolean(布尔)的首字母大写,因为这个数据类型是根据数学家 George Boole 命名的。在作为 Python 代码输入时,布尔值 True 和 False 不像字符串,两边没有引号,它们总是以大写字母 T 或 F 开头,后面的字母小写。在交互式环境中输入下面内容,其中有些指令是故意弄错的,它们将导致出错信息。在Python中True 和 False是两个特殊的存在,他们不能作为变量名,却可以存储在变量中。
        比较操作符有如下:
        比较操作符和其他语言基本上是一致的,通过比较后可以输出布尔值;<、>、<= 和 >= 操作符仅用于整型和浮点型值,== 和 != 操作符实际上可以用于所有数据类型的值。
        布尔操作符(and、or 和 not)用于比较布尔值,输出也是一个布尔值。and 和 or 操作符总是接受两个布尔值(或表达式),所以它们被认为是“二元”操作符。and只有两个布尔值全为True时输出True,or是只要有一个True就会输出True。not 操作符只作用于一个布尔值(或表达式),实际上就是取反。
        我们可以将比较操作符形成的表达式和布尔操作符进行混合使用,计算规则如下:在所有算术和比较操作符求值后,Python 先求值 not 操作符,然后是 and 操作符,然后是 or 操作符。
接下来就是控制流
        控制流语句的开始部分通常是“条件”,接下来是一个代码块,称为“子句”。
        条件实际上就是布尔表达式的判断,根据条件是 True 还是 False,来决定做什么。几乎所有的控制流语句都使用条件。
        子句就是判断后执行的代码,与其他语言不同的是,Python是通过缩进的方式划分(C语言中是通过符号)
name = 'Mary'
password = 'wordfish'
if name == 'Mary':
print('Hello Mary')
if password == 'swordfish':
print('Access granted.')
else:
print('Wrong password.')

        输出如下:

        最常见的控制流语句是 if 语句,判断为True就执行子句,else 语句只能和if 语句共同使用,if 语句判断为False执行else 语句下的子句。elif 语句是“否则如果”,总是跟在 if 或另一条 elif 语句后面。它提供了另一个条件,仅在前面的条件为 False 时才检查该条件。
        利用 while 语句,可以让一个代码块一遍又一遍的执行。只要 while 语句的条件为 True,while 子句中的代码就会执行。
        如下测试:
spam = 0
while spam < 1000:
print('Please enter the number:\n')
spam = int(input())
print('The number exceeds 1000 and the program ends\n')

        结果如下:

        当输入数字不小于1000时,程序结束。
        有时候while会造成“无限循环”,我们单线程的硬件一般也是通过这种方式实现持续运行,break 语句可以帮助我们推出循环。continue 语句可以让我们不执行后面的语句,从而回到循环开始的地方重新执行。
        for 循环和 range() 函数可以实现有限次数的循环:
for num in range(10):
print('cycle-index: '+str(num))

        效果如下:

        range(0, 10, 2)函数有几种形式:只有一个参数时是限值,步进为1,两个参数时是开始值和限值,步进为1;三个参数时是开始值、限值、步进值。(注意限值是无法达到的)
        Python中有一些标准库可以使用,例如math 模块,math 模块有数学运算相关的函数,random 模块有随机数相关的函数等等。
        下面是随机数的使用方法:
import random
for num in range(5):
print('random: '+str(random.randint(1, 100)))

        首先我们要加载对应的标准库才能使用,效果如下:

        到这里我们对于控制流相关的基础知识进行了全面的了解,并且通过实验进行了实践,连接具体的使用,这里可以看到,大多数的内容和其他语言是相同的,只不过在表象形式上尤其独特的特点,之前就在缩进方式上吃过小苦。

最新回复

一般的IDE都自动提供缩进的。。。。。。 都比较智能了。。。。   详情 回复 发表于 2024-4-26 16:15
点赞 关注(1)
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复
举报

1380

帖子

1

TA的资源

五彩晶圆(初级)

沙发
 

代码块编辑有点小瑕疵,因为没法显示缩进。。。Python以缩进组织代码

点评

确实,Mu里面可以显示,所以那个编辑器还是不错的    详情 回复 发表于 2024-4-26 08:24
 
 
 

回复

6483

帖子

9

TA的资源

版主

板凳
 
hellokitty_bean 发表于 2024-4-25 20:44 代码块编辑有点小瑕疵,因为没法显示缩进。。。Python以缩进组织代码

确实,Mu里面可以显示,所以那个编辑器还是不错的  

点评

一般的IDE都自动提供缩进的。。。。。。 都比较智能了。。。。  详情 回复 发表于 2024-4-26 16:15
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

1380

帖子

1

TA的资源

五彩晶圆(初级)

4
 
秦天qintian0303 发表于 2024-4-26 08:24 确实,Mu里面可以显示,所以那个编辑器还是不错的  

一般的IDE都自动提供缩进的。。。。。。

都比较智能了。。。。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表