流程控制语句
- 条件(分支)语句
- 循环语句
- break 和 continue
1.1 分支语句
-
if 分支语句
- 分支语句会根据条件判断,执行不同的分支代码。
- 流程
- 一个分支
- 多个分支
代码例子
a = 10
b = 20
c = 30
if a > b:
if a > c:
print("a是三个数中的最大值,值为%d" % a)
else:
print("c是三个数中的最大值,值为%d" % c)
elif b > c:
print("b是三个数中的最大值,值为%d" % b)
else:
print("c是三个数中的最大值,值为%d" % c)
代码练习1
# if 语句
'''
一个分支的条件语句
if 条件表达式:
语句块
注意:
1.条件表达式后面必须写冒号(:)
2.接下来的代码另起一行,并且缩进4个空格
执行:
如果条件表达式为True时,执行下面的语句块
'''
# baozi=10
# xigua=2
# if xigua>0:
# baozi=1
# print("----")
# print(baozi)
'''
多个分支的条件语句
if 条件1:
语句块1
elif 条件2:
语句块2
...
else:
语句块n
注意:
1.else后面不写条件,要写冒号(:)
2.分支下的语句另起一行,缩进4个空格,并且对齐
3.else分支不是必须的
执行:
1.条件1如果是True,执行语句块1,结束条件语句,如果条件1是False,继续执行
2.条件2如果是True,执行语句块2,结束条件语句,如果条件2是False,继续执行
3.列出条件都不成立时,执行else分支下的语句块
'''
# score=70
# if score==100:
# print("太棒了!")
# elif score>=90:
# print("优秀!")
# elif score>=80:
# print("良好")
# elif score<60:
# print("加油了!")
# else:
# print("合格!")
'''
练习
1.输入一个整数,输出是正?负?零?
'''
num = int(input('输入一个整数:'))
if num>0:
print(num,'是正数')
elif num==0:
print(num,"是零")
else:
print(num,"是负数")
2.2 循环语句
-
while 循环语句
- 我们可以通过一些条件判断来完成一些语句的循环调用。
- 流程
- else
代码例子
- while循环语句
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print("1 + 2 + .... + 100 = %d" % sum)
- while循环语句+条件语句
# 例子:计算从1加到100的所有偶数和
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum += i
i += 1
print("1 + 2 + .... + 100 = %d" % sum)
- while循环+else
num = 1
while num <= 5:
print(num)
num += 1
else:
print(num, "不满足条件,循环退出")
代码练习2
#while循环
'''
while 条件:
语句块
注意:
1.条件后面要写冒号(:)
2.接下去的语句块另起一行,缩进4个空格,要求对齐
3.不小心写了一个无限循环,可以按Ctrl+C,强行结束
执行:
1.如果条件是True,继续执行,否则结束循环
2.执行while下的语句块(循环体),继续执行1
'''
```py
n=1
total=0
while n<=100:
total+=n
n+=1
print("total:",total)
print("n=",n)
''' 带else分支的while while 条件: 语句块 else: 语句块n 执行: 1.如果条件是True,继续执行,否则执行else分支中的语句块,结束循环 2.执行while下的语句块(循环体),继续执行1
n=1
total=0
while n<=100:
total+=n
n+=1
else:
print("n=",n)
print("total:",total)
1.3 break,continue,pass
-
break
- 某一条件满足时,退出循环,不再执行循环语代码。break后while后面的else分支也不会执行。
-
continue
- 某一条件满足时,退出本次循环,接着执行下次循环代码。
-
pass
- pass是一个空语句,什么都不做,一般是用来保持结构完整的。
代码例子
break 和 continue
i = 0
while(i <= 5):
i += 1
if i == 2:
continue # 退出当次循环,进行下一次循环
elif i == 4:
break # 退出循环
print(i)
pass
if True:
pass
print("done")
代码练习3
#break - 循环中执行了break,退出循环
# n=0
# while n<100:
# n+=1
# print(n)
# if n==4:
# break
# print("n=",n)
#continue - 循环中执行continue,这次循环剩下的语句不再执行,继续下一次循环判断
# n=0
# while n<100:
# n+=1
# if n==4:
# continue
# # break
# print(n)
# else:
# print("-----------")
# print("n=",n)
'''
练习
#计算100以内的奇数的和
'''
# n=1
# sum=0
# while n<100:
# if n%2==1:
# sum+=n
# n+=1
# else:
# # print("sum:",sum)
# print("sum:"+str(sum))
# 使用cotinue完成计算100以内的奇数的和
n=0
sum=0
while n<100:
n+=1
if n%2==0:
continue
sum+=n
else:
print("sum:",sum)
代码练习4
#循环嵌套
'''
while 条件1:
语句块
while 条件2:
内循环语句块
语句块
执行:
1.如果条件1是True,就继续执行,否则结束外层循环
2.如果条件2是True,执行内循环语句块,继续执行2,如果条件2是False,结束内层循环,继续执行1
'''
# 输出九九乘法表
i=1
while i<=9:
j=1
while j<=i:
print(str(j)+"x"+str(i)+"="+str(j*i),end="\t") # 正常内容输出结束后,输出end指定的字符。默认end="\n"
j+=1
else:
print(end="\n") #换一行
i+=1
1.4 for 循环
- for 循环
代码例子
#for语句
'''
for 变量 in 字符串:
语句块
注意:
1.字符串后面要写冒号
2.下面的语句块要缩进4空格,且要对齐
'''
mystr="hello"
for c in mystr:
print(c)
#从后往前输出
i = len(mystr)-1 #最大索引
while i>=0:
print(mystr[i])
i-=1
\