Python基础之条件判断

和其它编程语言一样,按照执行流程划分,Python 程序也可分为 3 大结构,即顺序结构、选择(分支)结构和循环结构:

  • Python 顺序结构就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。
  • Python 选择结构也称分支结构,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码(满足条件的代码)。
  • Python 循环结构就是让程序,不断地重复执行同一段代码。

选择(分支)结构

条件判断

条件判断是程序实现自动化任务的基础之一,比如,当程序跟用户作交互时,程序可以根据用户输入的数据进行判断,从而执行不同的代码语句,在Python程序中,用 if 语句实现

注:和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。

Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)

>>> age = 10
>>> if age > 18 : # if 后面跟一个表达式当这个表达式为True则执行if下缩进的语句
    	print("大于18岁,达到法定年龄已成年")
   

 

对“表达式”的说明:“表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假);

上面说过,if 和 elif 后面的“表达式”的形式是很自由的,只要表达式有一个结果,不管这个结果是什么类型,Python 都能判断它是“真”还是“假”。

布尔类型(bool)只有两个值,分别是 True 和 False,Python 会把 True 当做“真”,把 False 当做“假”。

对于数字,Python 会把 0 和 0.0 当做“假”,把其它值当做“真”。

对于其它类型,当对象为空或者为 None 时,Python 会把它们当做“假”,其它情况当做真。比如,下面的表达式都是不成立的

""  #空字符串
[ ]  #空列表
( )  #空元组
{ }  #空字典
None  #空值
0/0.0 #0值

一旦某个表达式成立,Python 就会执行它后面对应的代码块;如果所有表达式都不成立,那就执行 else 后面的代码块;如果没有 else 部分,那就什么也不执行。

else 当if 条件不满足(False/None/空)时会执行else所属的子语句块,如果if 后面的条件为(True/非空)则跳过else下缩进的语句执行后续主语句

a = int(input("请输入你的体重:"))
if a >= 120:
    print("你好重啊,要减肥了!")
else:
    if a>=90 and a<120:
        print("标准体重,请继续保持哦!")
    else:
        print("你太瘦了要多吃点啊!")
# 该语句不属于if/else的子代码块
print("还是要多运动保持健康啊!")
    
请输入你的体重:120
你好重啊,要减肥了!
还是要多运动保持健康啊!

 Python是根据缩进来判断代码块包含关系的,如果 if 条件是 True ,就执行if下缩进的子语句,如果为False,则执行else下缩进的子语句

if 1:
    print("表达式为1条件成立")
else:
    print("表达式为1条件不成立")
# 表达式为1条件成立
if []:
    print("表达式为空list条件成立")
else:
    print("表达式为空list条件不成立")
# 表达式为空list条件不成立

if "":
    print("表达式为空str条件成立")
else:
    print("表达式为空str条件不成立")
# 表达式为空str条件不成立

if 0:
    print("表达式为0条件成立")
else:
    print("表达式为0条件不成立")
# 表达式为0条件不成立

 elif 是 else if 的缩写,上面计算体重的代码可以通过elif来简写

a = int(input("请输入你的体重:"))
if a >= 120:
    print("你好重啊,要减肥了!")
elif a>=90 and a<120:
    print("标准体重,请继续保持哦!")
else:
    print("你太瘦了要多吃点啊!")
print("还是要多运动保持健康啊!")
请输入你的体重:120
你好重啊,要减肥了!
还是要多运动保持健康啊!

 注:if 语句执行顺序是从上往下判断,在当判断是True时,会执行这个条件的子语句,并忽略掉剩余的elif 和 else

age = 60
if age>=60:
    print("已步入老年")
elif 35<=age<60:
    print("已成中年")
elif 18<=age<35:
    print("还是青年")
else:
		print("还未成年")

# 输出:已步入老年

 

选择分支结构,不管有多少个分支,都只能执行一个分支,或者一个也不执行,不能同时执行多个分支。

练习:

已知bmi指数用于计算一个人体重是否超标,bmi = weight / (height * height)

当bmi<18.5时体重过轻,18.5≤bmi<24.9时体重在正常范围,24.9≤bmi<29.9时体重过重,bmi≥29.9时属于肥胖

要求编写代码,实现输入用户的体重weight,身高height,后代码自动判断用户体型

当体重过轻时输出语句:

BMI指数为:xxxxxx(xxxx为计算出的bmi值,无需四舍五入)

体重过轻,注意锻炼和营养

当体重正常时输出语句:

BMI指数为:xxxxxx(xxxx为计算出的bmi值,无需四舍五入)

正常范围,注意保持

当体重过重时输出语句:

BMI指数为:xxxxxx(xxxx为计算出的bmi值,无需四舍五入)

体重过重,注意减少热量摄入

当体重肥胖时输出语句:

BMI指数为:xxxxxx(xxxx为计算出的bmi值,无需四舍五入)

肥胖体型,请制定减肥计划,保持健康

作业:

判断是否为酒后驾车

如果规定,车辆驾驶员的血液酒精含量proof小于 20mg/100ml 不构成酒驾;酒精含量大于或等于 20mg/100ml 为酒驾;酒精含量大于或等于 80mg/100ml 为醉驾。试编写 Python 程序输入proof值判断是否为酒后驾车

proof = int(input("输入驾驶员每 100ml 血液酒精的含量:"))
'''请完善下面代码逻辑实现判断是否酒驾/醉驾'''

 

你可能感兴趣的:(学习python,python,java,前端)