您好,登录后才能下订单哦!
这篇文章主要介绍“Python分支语句常见如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python分支语句常见如何使用”文章能帮助大家解决问题。
单分支结构是最简单的一种选择结构,语法结构如下:
if 条件表达式: 语句块
当条件表达式成立的时候,执行语句块,不成立则不执行。例如:用户输入两个数,比较其大小,输出小的一个。
num_a = int(input('please input a number:')) num_b = int(input('please input another number:')) if num_a > num_b: num_a, num_b = num_b, num_a #交换两个数 print("the smaller one is",num_a)
上例运用单分支结构,当数a大于数b的条件成立的时候,将两者交换,最后输出较小的数a。分支语句中,仅当条件成立的时候才执行,否则不执行交换,直接顺序执行分支语句之后的语句。
二分支结构在单分支结构的基础上增加了else语句,当if条件不成立时,执行else语句,语法结构如下:
if 条件表达式: 语句块1 else: 语句块2
二分支结构是二选一的结构,语句块1和语句块2有且只有一个一定会被执行到。
还是上面的例子,用二分支语句可以写作:
num_a = int(input('please input a number:')) num_b = int(input('please input another number:')) if num_a > num_b: print("the smaller one is",num_b) else: print("the smaller one is",num_a)
再如,根据身份证号码判断性别,可以写作:
id_code = input('请输入身份证号码:') number = int(id_code[-2]) if number%2 == 0: print("女性") else: print("男性")
这里的else隐含条件是number%2 == 0
不成立,即number为奇数,所以也可以将else换做if number%2 == 1
,但是从程序的执行效率上考虑,两个if语句需要执行两次判断,而else语句不需要做判断,所以效率更高。
多分支结构是二分支结构的扩展,即多选一的情况,其中else语句是可选的,当else存在时,有且只有一个分支会被执行到。其语法结构如下:
if 条件表达式1: 语句块1 elif条件表达式2: 语句块2 … elif条件表达式n: 语句块n else: 语句块n+1
例如让用户输入身高体重,计算其BMI指数。BMI指身体质量指数,是用体重(kg)除以身高(m)的平方得到,有国际通用的衡量标椎:
过轻 | 低于18.5**** |
---|---|
正常 | 18.5-25(不含) |
偏胖 | 25-30(不含) |
肥胖 | 30-35(不含) |
重度肥胖 | 35及以上 |
weight = float(input("请输入你的体重(Kg):")) height = float(input("请输入你的身高(m):")) BMI = weight / height ** 2 if BMI < 0: print("输入错误") elif BMI < 18.5 : print("偏瘦") elif BMI < 25 : print("正常") elif BMI < 30 : print("偏胖") elif BMI < 35 : print("肥胖") else: print("重度肥胖")
上例通过计算得到BMI指数,根据其值输出所对应的“档位”,因为在设定分支条件时应当注意每个分支条件之间没有重复区域,才能保证输出结果为其中一种。
在分支语句中如果要做进一步的条件判断,就会用到嵌套的分支结构。嵌套也可以有多层,通过缩进来表示其包含关系。
代表性语法结构如下:
if 条件表达式1: … if条件表达式2: 语句块1 else: 语句块2 else: 语句块3
例如上例在做身份证号的性别判断时,如果要先对输入的身份证号合法性做基本检查,例如其位数是不是正确,则需要嵌套分支:
id_code = input('请输入身份证号码:') if len(id_code) == 18: number = int(id_code[-2]) if number%2 == 0: print("女性") else: print("男性") else: print("输入不合法")
关于“Python分支语句常见如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。