以上三种形式中,第二种和第三种形式是相通的,如果第三种形式中的 elif 块不出现,就变成了第二种形式。另外,elif 和 else 都不能单独使用,必须和 if 一起出现,并且要正确配对。
对语法格式的说明:“表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。“代码块”由具由相同缩进量的若干条语句组成。if、elif、else 语句的最后都有冒号:,不要忘记。一旦某个表达式成立,Python 就会执行它后面对应的代码块;如果所有表达式都不成立,那就执行 else 后面的代码块;如果没有 else 部分,那就什么也不执行。执行过程最简单的就是第一种形式——只有一个 if 部分。如果表达式成立(真),就执行后面的代码块;如果表达式不成立(假),就什么也不执行。对于第二种形式,如果表达式成立,就执行 if 后面紧跟的代码块1;如果表达式不成立,就执行 else 后面紧跟的代码块2。对于第三种形式,Python 会从上到下逐个判断表达式是否成立,一旦遇到某个成立的表达式,就执行后面紧跟的语句块;此时,剩下的代码就不再执行了,不管后面的表达式是否成立。如果所有的表达式都不成立,就执行 else 后面的代码块。总起来说,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支。【实例1】使用第一种选择结构判断用户是否符合条件:age = int( input("请输入你的年龄:") )if age < 18 : print("你还未成年,建议在家人陪同下使用该软件!") print("如果你已经得到了家长的同意,请忽略以上提示。")#该语句不属于if的代码块print("软件正在使用中...")运行结果1:请输入你的年龄:16↙你还未成年,建议在家人陪同下使用该软件!如果你已经得到了家长的同意,请忽略以上提示。软件正在使用中...
运行结果2:请输入你的年龄:24↙软件正在使用中...
从运行结果可以看出,如果输入的年龄小于 18,就执行 if 后面的语句块;如果输入的年龄大于等于 18,就不执行 if 后面的语句块。这里的语句块就是缩进四个空格的两个 print() 语句。【实例2】改进上面的代码,年龄不符合时退出程序:import sysage = int( input("请输入你的年龄:") )if age < 18 : print("警告:你还未成年,不能使用该软件!") print("未成年人应该好好学习,读个好大学,报效祖国。") sys.exit()else: print("你已经成年,可以使用该软件。") print("时间宝贵,请不要在该软件上浪费太多时间。")print("软件正在使用中...")运行结果1:请输入你的年龄:16↙警告:你还未成年,不能使用该软件!未成年人应该好好学习,读个好大学,报效祖国。
运行结果2:请输入你的年龄:20↙你已经成年,可以使用该软件。时间宝贵,请不要在该软件上浪费太多时间。软件正在使用中...
sys 模块的 exit() 函数用于退出程序。【实例3】判断一个人的身材是否合理:height = float(input("输入身高(米):"))weight = float(input("输入体重(千克):"))bmi = weight / (height * height) #计算BMI指数if bmi=18.5 and bmi=24.9 and bmi