分支结构相当于数学流程图里的判断框,符合条件则向下执行,不符合条件执行另一条语句
num = eval(input("请输入1或2:")) #eval函数是取出字符两天的符号
if num != (1 or 2): #判断num不是1或者2的时候
print("输入错误")
if num == 1: #判断num=1的时候
print("1你好")
if num == 2: #判断num=2的时候
print("2你好")
num = eval(input("请输入1或2:"))
if num == (1 or 2):#如果num=1或者2 打印输出你好
print("你好")
else: #否则,就是num不等于1或者2的时候
print("未按要求输入")
输出结果:
请输入1或2:3
未按要求输入
**简洁使用模式**
num = eval(input("请输入1或2:"))
print("{}好".format("都" if num==(1 or 2) else "都不" ))
输出结果:
请输入1或2:2
都好
请输入1或2:5
都不好
num = eval(input("请输入1或2:"))
if num == 1: #如果num=1则打印输出1你好
print("1你好")
elif num == 2: #如果num=2打印输入2你好
print("2你好")
else: #如果num即不等于1也不等于2
print("未按要求输入")
输出结果:
请输入1或2:1
1你好
请输入1或2:4
未按要求输入
1、BMI :Body Mass Index 国际上常用的衡量人体肥胖和健康程度重要标准,主要用于统计分析
定义:BMI = 体重 (kg) /身高2(m2)
获取用户输入的体重和身高值,计算并给出国际和国内的 BMI 分类
![分类表](https://img-blog.csdnimg.cn/20210114103531633.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NzaDE4NTgxMDMwNTQ0,size_16,color_FFFFFF,t_70#pic_center)
要求如下:
(1) 混合计算并给出国际和国内的 BMI 分类;
(2) 使用input()获得测试用例输入。
hight = eval(input("输入身高(m):"))
weight = eval(input("输入体重(kg):"))
BMI = weight / (hight**2)
who ,dom = "",""#定义空元组用来储存结果
if BMI < 18.5:
who,dom = "偏瘦","偏瘦"
elif 18.5 <= BMI < 24:
who ,dom = "正常","正常"
elif 24 <= BMI < 25:
who ,dom = "偏胖","正常"
elif 25 <= BMI < 28:
who ,dom = "偏胖","偏胖"
elif 28 <= BMI < 30:
who ,dom = "肥胖","偏胖"
else:
who ,dom = "肥胖","肥胖"
print("国际标准:{0}\n国内标准:{1}".format(who,dom))
输出结果:
输入身高(m):1.75
输入体重(kg):65
国际标准:正常
国内标准:正常
根据循环次数的确定性,循环可分为确定次数循环和不确定次数循环,就是for循环和while循环了
格式:for <循环变量> in <遍历机构>:
遍历方式:
1.遍历字符串s: for i in s:
2.遍历列表list:for i in list:
3.遍历文件file:for line in file:
4.循环n次: for i in range(n):
>>> for i in "123456789":
print(i,end="") #end="" 作用是不换行打印
123456789
>>> for j in [1,2,3,4,5,6]:
print(j, end="")
123456
>>> for k in range(5):
print(k,end="")
01234
>>>
只要条件符合则一直在循环体内继续循环,不符合条件时退出循环
>>> s="123456"
>>> count = 0 #计数器
>>> while count < len(s): #以字符串s的长度为循环次数
print("我循环到" + s[count]) # + 连接字符串和循环的数字
count += 1 #计数器,每循环一次计数器加1
else:
print("循环结束,循环{}次".format(count))
我循环到1
我循环到2
我循环到3
我循环到4
我循环到5
我循环到6
循环结束,循环6次
保留字break和continue来辅助控制循环执行
break:是用来跳出最内层的for循环或者while循环,跳出该循环体继续向下执行
continue:是用来跳出当次循环,然后继续执行该循环体
>>> s="123456"
>>> for i in s:
for j in range(4):
if j == 3: #本来预设每个元素打印4次,之打印3次
break #符合条件后用来跳出最内层的for j in range(4):循环体,外层for i in s:循环体继续执行,
else:
print(i,end="")
输出结果:
111222333444555666
>>> s="123456"
>>> for i in s: #遍历字符串s
if i == '2': #当循环到2时执行continue语句,跳过当次循环,结果如下
continue
else:
print(i,end="")
输出结果:
13456