驱动案例
BMI身体质量指数,是目前国际上常用的衡量人体是否健康的一个标准。当我们需要比较分析一个人的体重对于不同高度的人所带来健康影响时,BMI值是一个中立而可靠的指标。
要求编写:
身体健康小助手BMI:请输入身高、体重检测BMI,如果BMI>=30输出肥胖![BMI=体重(kg)÷身高的平方(m)]
运算符
算术运算符
算术运算符包括+、-、*、/、//、%和**,这些运算符都是双目运算符,每个运算符可以与两个操作数组成一个表达式。
Python在对不同类型的对象进行运算时,会强制将对象的类型进行临时类型转换,这些转换遵循如下规律:
布尔类型进行算术运算时,被视为数值0或1;
整型与浮点型运算时,将整型转化为浮点型;
其它类型与复数运算时,将其它类型转换为复数类型。
比较运算符
比较运算符有:==、!=、>、=、<=。比较运算符同样是双目运算符,它与两个操作数构成一个表达式。
赋值运算符
赋值运算符的功能是:将一个表达式或对象赋给一个左值,其中左值必须是一个可修改的值,不能为一个常量。
>>> a = 3
>>> b = 5
>>> a = b
>>> a
5
混合赋值运算符:
逻辑运算符
Python中分别使用or、and、not这三个关键字作为逻辑运算“或”、“与”、“非”的运算符,其中or与and为双目运算符,not为单目运算符。
>>> 3 or 0
3
>>> 3 - 3 and 5
0
>>> not(False)
True
位运算符
Python的位运算主要包括
按位左移
、
按位右移
、
按位与
、
按位或
、
按位异或
、
按位取反
这6种。
运算符优先级
为了避免含有多个运算符的表达式出现歧义,Python为每种运算符都设定了优先级。
if语句
程序开发中经常会用到条件判断,比如,用户登录时需判断用户名和密码是否全部正确,进而决定用户是否能够成功登录。
单分支(if)
if语句由if关键字、条件表达式和代码块三部分组成,它根据表达式的判断结果选择是否执行相应的代码块 。
h=eval(input("请输入你的身高(m):"))
w=eval(input("请输入你的体重(kg):"))
BMI=w/(h*h)
if BMI>=30:
print("肥胖!")
双分支(if-else)
if-else语句产生两个分支,可根据条件表达式的判断结果选择执行哪一个分支。
h=eval(input("请输入你的身高(m):"))
w=eval(input("请输入你的体重(kg):"))
BMI=w/(h*h)
if BMI>=30:
print("肥胖!")
else:
print("正常!")
多分支(if-elif-else)
如果程序需要处理多种情况,那么可以使用if-elif-else语句。
h=eval(input("请输入你的身高(m):"))
w=eval(input("请输入你的体重(kg):"))
BMI=w/(h*h)
if BMI<18.5:
print("偏瘦!")
elif BMI<25:
print("理想体重!")
elif BMI<30:
print("超重!")
else:
print("肥胖!")
分支嵌套
age=eval(input("请输入您的年龄:"))
h=eval(input("请输入您的身高(m):"))
w=eval(input("请输入您的体重(kg):"))
BMI=w/(h*h)
if age>=18:
if BMI<18.5:
print("偏瘦")
elif 18.5<=BMI<25:
print("理想体重")
elif 25<=BMI<30:
print("超重")
else:
print("肥胖")
else:
print("该标准不适用")
循环结构
对大多数人来说,反复地做同样的事情很繁琐,但是计算机从来不会觉得烦,所以它非常擅长完成重复的任务。循环就是重复执行的关键。
while循环
while循环是一个条件循环语句,当条件满足时重复执行代码块,直到条件不满足为止。
已知循环次数:
i=1
while i<=4:
w=eval(input("请输入您的体重(kg):"))
h=eval(input("请输入您的身高(m):"))
BMI=w/(h*h)
if BMI<18.5:
print("偏瘦")
elif BMI<25:
print("理想体重")
elif BMI<30:
print("超重")
else:
print("肥胖")
i=i+1
未知循环次数:
i='Y'
while i=='Y':
w=eval(input("请输入您的体重(kg):"))
h=eval(input("请输入您的身高(m):"))
BMI=w/(h*h)
if BMI<18.5:
print("偏瘦!")
elif BMI<25:
print("理想体重!")
elif BMI<30:
print("超重!")
else:
print("肥胖!")
i=input("是否继续?如果继续就输入Y:")
for循环
for循环可以对可迭代对象进行遍历。
for循环常与range()函数搭配使用,以控制循环中代码段的执行次数。
for i in range(4):
w=eval(input("请输入您的体重(kg):"))
h=eval(input("请输入您的身高(m):"))
BMI=w/(h*h)
if BMI<18.5:
print("偏瘦!")
elif BMI<25:
print("理想体重!")
elif BMI<30:
print("超重!")
else:
print("肥胖!")
嵌套循环
while循环中可以嵌套while循环。
while 条件表达式1:
代码块1
......
while 条件表达式2:
代码块2
......
for循环也可以嵌套使用,其格式如下所示
for 临时变量 in 可迭代对象:
代码块1
for 临时变量 in 可迭代对象:
代码块2
//打印输出九九乘法表
for i in range(1, 10):
for j in range(1, i + 1): //for循环嵌套
print(str(j) + str("*") + str(i) + "=" + str(i * j), end="\t")
print() # 换行输出
跳出循环
循环语句一般会一直执行完所有的情况后自然结束,但是有些情况下需要停止当前正在执行的循环,也就是跳出循环。
break语句
break语句用于跳出离它最近一级的循环,通常与if语句结合使用,放在if语句代码块中
break语句也可以用于while循环,其格式如下所示:
continue语句
continue语句用于跳出当前循环,继续执行下一次循环。(
当执行到continue语句时,程序会忽略当前循环中剩余的代码,重新开始执行下一次循环。
)
案例代码
for i in range(1,4):
print("当前为第{}个部门".format(i))
for j in range(1,5):
print("当前为第{}个部门第{}位员工".format(i,j))
w=eval(input("请输入您的体重(kg):"))
h=eval(input("请输入您的身高(m):"))
BMI=w/(h*h)
if BMI<18.5:
print("偏瘦")
elif BMI<25:
print("理想体重")
elif BMI<30:
print("超重")
else:
print("肥胖")
总结
本节课主要介绍了
运算符
、
单分支、双分支、多分支、分支嵌套
、
循环结构(while、for)
、
跳出循环
等。