转载请标明出处:
原文发布于:浅尝辄止,未尝不可的博客
https://blog.youkuaiyun.com/qq_31019565
Python教程(八)–循环(while 和 for)、break和continue与if的配合使用
程序的三大执行流程
- 顺序执行
- 选择执行
- 循环执行
完成循环的方式
while循环
#while 循环
#while 条件:
# 条件满足的时候执行事情
num = 1
print (num)
num = num + 1
print (num)
num = num + 1
print (num)
num = num + 1
print (num)
#以上代码可以用循环形式来进行,如下所示
while num<=10:
print (num)
num = num + 1
##有一点需要注意的是,上面直接使用了
##print(num)
##这种写法是允许的,只是想打印num的值,也可以写成下面写法
##print("%d",num)
注意:python里面没有do…while ,switch。没有 ++, --。
while 嵌套
打印长方形
##格式推荐
##while 条件1:##条件1满足的时候,执行第二个while语句
## while 条件2:
## 事件2##条件满足时,执行事情2。
## 下面是一个打印矩形的例子
i = 1
while i<5:
j = 1
while j<=5:
print ("*",end = "")##这是使用 end = ""是为了不换行。
j = j+1
print ("") ##这里使用的打印行是为了换行。
i = i+1
##执行以上命令打印的结果是
##*****
##*****
##*****
##*****
##*****
打印三角形
i = 1
while i <5:
j = 1
while j<=i:
print ("*",end = "")
j += 1
print ("")
i += 1
打印九九乘法表
#遇到这种问题,尝试将复杂的问题简答化
#这个乘法表与打印的三角形式类似的。
# 分步进行,首先copy 上面的打印三角形的代码,因为是九行,所以将5改成9
i = 1
while i < 9:
j = 1
while j<=i:
print ("*",end = "")
j += 1
print ("")
i += 1
#修正以上代码后,会打印9行三角形。下面开始修正想要打印的信息。即每一个计算式。
#比如将print ("*",end = "")改成print ("A*B=C",end = "")
#然后继续进行 修正打印出来的格式,继续讲print语句改造,在C后面加上空格。
#print ("A*B=C ",end = "")
i = 1
while i < 9:
j = 1
while j<=i:
print ("A*B=C ",end = "")
j += 1
print ("")
i += 1
#上述代码已经很像一个九九乘法表了,下面继续进行,将A*B=C 改成数字。
#在乘法表中,每一行有一个值是不变的,即式子里面的B值,也就是循环里面的i值。
#修正print得到print ("A*%d=C ",%(i),end = "")
#而A的规律是,第一行只有1,第二行有1,2,第三行有1,2,3,以此类推。
#从而修正print ("%d*%d=C ",%(j,i),end="")
#自然而然,C的结果就是 i*j
#修正print ("%d*%d=%d ",%(j,i,i*j),end="")
i = 1
while i < 9:
j = 1
while j<=i:
print ("%d*%d=%d ",%(j,i,i*j),end="")
j += 1
print ("")
i += 1
#按照常理,以上已经解决完问题了,但是为了让代码好看一些,还是可以增加一点儿操作
#修正一下print ("%d*%d=%d\t",%(j,i,i*j),end="")
#增加\t是为了增加美观,让打印出的乘法表可以友好对齐。
i = 1
while i < 9:
j = 1
while j<=i:
print ("%d*%d=%d\t",%(j,i,i*j),end="")
j += 1
print ("")
i += 1
for 循环
#用以下的例子对for循环做一个简单的介绍
name = "abcd"
for temp in name:
print("-----")
print(temp)
#这里说明一下这个for循环的结束条件,当在文件里取不出东西的时候,就退出。
#这个程序执行的打印结果是
#-----
#a
#-----
#b
#-----
#c
#-----
#d
while中的break和continue与if的配合使用
#打印1-50中的所有的奇数
i = 1
while i<=50:
#如果是i为奇数就打印
if i%2==1:
print (i)
i+=1
#增加break的应用
#我要打印50以内的前十个奇数。
j = 1
num = 0
while j<=50:
if j%2==1:
print(i)
num += 1
#这里做判定,如果num的值等于10,那么就会break,跳出while循环
if num == 10:
break
j += 1
#下面是一个continue的例子,continue在循环中使用,一旦执行continue
#在这个循环中continue后面的语句将不会执行,直接跳过执行后续的循环。
i = 0
while i<=50:
i += 1
if i%2==1:
if i == 13:
continue #这里当i == 13的时候,将不会打印出来,会直接执行下一次循环。
print(i)
注意事项
#break和continue的作用范围。
while 条件1:
while 条件2 :
break ### 这种情况下,break的作用范围是里面的while。
break ###这个break的作用范围是外面的while。