一、分支结构
1.1异常处理
try: <语句块1> except(<异常类型>): <语句块2>
1.2高级异常处理
try: <语句块1> except: <语句块2> else: <语句块3> finally: <语句块4>
首先执行语句块1的一部分代码;如果不发生异常则“奖励性地”执行语句块3;如果发生了异常,执行语句块2;无论是否发生异常,都要执行语句块4
try: num=eval(input("请输入一个整数")) print(num**2) except NameError: #异常类型不是必需,且名称是预定义的。标注异常类型后,仅响应该异常(异常类型名等同于变量) print("输入不是整数\n") #身体质量指数BMI height,weight=eval(input("请输入身高(米)和体重(公斤)[逗号隔开]")) bmi=weight/pow(height,2) print("BMI数值为:{:.2f}".format(bmi)) who,nat="","" if bmi<18.5: who,nat="偏瘦","偏瘦" elif 18.5<=bmi<=24: who, nat ="正常","正常" elif 24<=bmi<=25: who, nat = "正常", "偏胖" elif 25<=bmi<=28: who, nat = "偏胖", "偏胖" elif 28<=bmi<=30: who, nat = "偏胖", "肥胖" else: who, nat = "肥胖", "肥胖" print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))
二、循环结构
2.1遍历循环
遍历某个结构形成的循环运行方式
for <循环变量> in <遍历结构>: <语句块> #每次循环,从遍历结构中获得元素放入循环变量,执行一次语句块
1、计数循环(N次)
for i in range(N): <语句块> for i in range(M,N,K): <语句块>
for i in range(5): print(i) for i in range(1,6,2): print("Hello ",i)
2、字符串遍历循环
for c in s: <语句块> # s是字符串,遍历字符串每个字符,产生循环
for c in "python123": print(c,end=",") #p,y,t,h,o,n,1,2,3,
3、列表遍历循环
for item in ls: <语句块> # ls是一个列表,遍历其每个元素,产生循环
for item in [123,"py",456]: print(item,end=",") #123,py,456,
4、文件遍历循环
for line in fi: <语句块> # fi是一个文件标识符,遍历其每行,产生循环
2.2无限循环
由条件控制的循环运行方式
while <条件>: <语句块> #反复执行语句块,直到条件不满足时结束
a=3 while a>0: a=a-1 print(a)
2.3循环控制保留字
break:跳出并结束当前最内层循环,执行循环后的语句
continue:结束当次循环,继续执行后续次数循环
for c in "python": if c=="t": continue print(c,end="") for c in "python": if c=="t": break print(c,end="")
2.4循环的扩展
for <循环变量> in <遍历结构>: <语句块1> else: <语句块2> 或 while <条件>: <语句块1> else: <语句块2> 当循环没有被 break语句退出时,执行 else语句块,当作“正常”完成循环的奖励
for c in "python": if c=="t": continue print(c,end="") else: print("正常退出") #python正常退出 for c in "python": if c=="t": break print(c,end="") else: print("正常退出") #py