pythonif语句的多分支使用_Python编程7:分支结构之if语句

#少儿编程#

d4628535e5dde711a0b45680bc2ed01c9c1661ad.jpeg?token=0ebea86c1456f559af16c86fcba8a02c

上一篇我们讲了Python的比较运算和逻辑运算,这两种运算得到结果都是True或者False。这两种运算在程序的分支结构非常有用。

什么是分支结构

我们做任何事都必须依照一定顺序完成,比如小朋友每天放学回家,从学校到小区门口,出校门后首先直走到第一个路口,然后左拐,再然后直走到第二个路口……这种必须依照一定步骤才能完成的事,叫做顺序结构。

不过小朋友们在生活中每天也会遇到需要选择的事情,比如我们经过十字路口,是向左拐还是向右拐?比如我们早上出门上学,衣服是要穿的多一些还是少一些?比如我们考试做选择题,是选择这个选项,还是那个选项。

这种时候,我们需要根据不同的情况做出不同的选择,比如我们出门,如果温度低,那就选择穿多一些,如果温度高,那就选择穿少一些。这种需要对情况进行判断的就是分支结构,也叫选择结构。

编程也是,我们在实现一个功能,往往需要考虑各种可能遇到的情况,然后对每种情况做出不同的决策。比如我们要设计一个自动调温器,它的功能是不断地检测温度,只要温度低于某个值,就要打加热,而如果温度高于某个值,就要打开降温,如图1所示。

359b033b5bb5c9eac3ee7eaccef8a8073bf3b3ac.jpeg?token=a7de01af5b8c37b5b9005498632ad057图1

if语句

Python中,使用关键字if来实现分支结构。当if后面的条件为真,就执行“代码块1”,语法如图2。

a6efce1b9d16fdfa7c0370adaf4e925395ee7b4a.jpeg?token=8eaed723f9eddb1ae599c94418c59d26图2

图3所示的就是一段使用了if语句的代码。

4ec2d5628535e5dd38c8e2836f07b9e8cc1b62ca.jpeg?token=54155929de963d2e3dea943cefa4127f图3

这段if语句有两个非常重要的概念:

什么是代码块?代码块(block)是一行或放在一起的多行代码。在Python中,通过行缩进来构成代码块。If行末尾的冒号告诉Python下面将是一个代码块,这个块包括if行以下(不包括if行)直到下一个不缩进的代码行之间的所有缩进代码行。图2中红色框内就是一个代码块

为什么要缩进如果有接触过其它编程语言,或者将来接触到别的编程语言,会发现代码缩进只是一个风格问题,它不影响实际运行。但是对于Python,代码缩进是必须遵守的,通过代码的缩进告诉Python,代码块从哪里开始,到哪里结束。

代码块缩进多少并不重要,重要的是必须保证这段代码块所有代码缩进的程度是一样的,惯例是4个空格。

如果我们写的代码没有遵守缩进的规则,那么Python解析时,会认为这段代码杂乱无章,毫无逻辑,自然也不会得出我们想要的结果。

【练习】算价格

我们现在来做一个练习。放学了,你和你的同学想去学校门口的文具店买文具,刚好文具店在搞促销活动,如果购买金额低于或等于10元,会给5%的折扣,如果购买的金额高于10元,会给10%的折扣。现在店家让你写个程序,输入购买金额后,显示打的折扣以及最后实付金额。

代码如图4:

dcc451da81cb39db40caffedc9d71723aa18304f.jpeg?token=7c650d780f38e624bec9bd13bec9a649图4

代码①:使用input( )语句接受键盘应付金额,并赋值给变量amount。由于input函数对于键盘输入的信息,不论是字符还是数字,都统一认为是字符串,所以使用eval( )函数将输入的数字转为数值型。

代码②、③:使用if语句对变量amount的值进行判断,如果小于等于10,就将变量discount设为0.05,也就是将折扣设为5%。如果大于10,就将变量discount设为0.1,也就是将折扣设为10%。

代码④:使用print( )函数显示应付金额所对应的折扣

代码⑤:通过数学算式amount-amount*discount算出实付金额,并使用print( )显示出来。

执行过程如图5:

de6dfe68a9162e764a5c96a9bb4ce59d.gif图5

If……else语句

这个时候就可以使用if……else语句来简化代码,而且也让代码更有逻辑。它允许我们判断一个条件是否为真而不必再执行另一个判断来看它是否为假。

else语句不能单独使用,它必须要在在if语句之后使用。语法如图6:

b03533fa828ba61e9692c07459f5890d314e59b0.jpeg?token=340428072333cda0b97b7267dc3d15d0图6

如果一条if语句中的条件为真,就会执行if下面的代码块1,并且else及其所有的语句会略过。如果if语句中的条件为假,程序会直接跳到else下面的代码块2。

现在我们重新修改上面那段代码,如图7。图7红框里的代码就是上面两段if语句改的。

4034970a304e251f2a4c11acbd47d7107e3e5377.jpeg?token=bc230727afdcceb70eb5f0178ac61490图7

我们知道分支结构是可以嵌套的,就是if……else语句里可以再嵌套if……else语句,语法、逻辑都是一样的,但是要注意代码缩进,两层嵌套,它的代码也是层层缩进。语法如图8:

0ff41bd5ad6eddc433c7be4c211aa8fa536633a8.jpeg?token=c43c9a5524cd1fd89b49bf6d009f0b3d图8

这就是Python的分支结构,这里要再次强调的是Python语言的代码缩进,小朋友们在写代码时一定要注意。

原创不易,请勿抄袭。欢迎大家关注我,和我多交流,如果你喜欢,请转赞评三连,谢谢。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值