Python——循环与分支结构

一、分支结构

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

猜你喜欢

转载自www.cnblogs.com/xxwang1018/p/11571460.html