一、重点掌握目标

  1. 掌握f or...in...循环的格式与特点,了解其数据传递
  2. 熟练掌握f or...in...与range()函数的结合使⽤
  3. 掌握while循环的格式与特点
  4. 区别f or...in...循环与while循环

二、难点知识

  1. range()函数各个参数的含义
  2. f or...in...循环与while循环的变量更迭
  3. while语句如何避免死循环

三、知识梳理
⼀)for...in...循环

  1. i是变量名,可以根据需要取。
  2. 遍历:逐⼀访问全部数据。
  3. ⽤于处理已知循环次数或循环固定次数的问题。
  4. 格式:
     for...in...语句最后需要接冒号(⼀定要英⽂模式)
     for...in...语句内部语句需要缩进,会被重复执⾏,in后可接列表、字典和字符串,但不允许接整数、浮点数。
     列表⾥的元素值依次赋值给变量 i,i 最终的值取决于最新⼀次的赋值。
     若是字典,则赋值给变量的是字典中的key,⽽不是value。即遍历的是key。
     对于字符串⽽⾔,会依次输出字符。
for i in [1,2,3]:
print(i*3)
#显示结果为:
#3
#6
#9

for i in '周杰伦':
print(i)
#显示结果为:
#周
#杰
#伦

city = {'北京':'天安门','上海':'东方明珠','广州':'珠江'}
 for i in city:
    print(i)
#显示结果为:
#北京
#上海
#广州

city = {'北京':'天安门','上海':'东方明珠','广州':'珠江'}
for i in city:
    print(city[i])
#显示结果为:
#天安门
#东方明珠
#珠江

二)range()函数配合使⽤
可以⽤for...in...语句遍历range()函数⽣成的整数序列并打印。

for i in range(11,15):
     print(i)
#显示结果为:
#11
#12
#13
#14

for i in range(n):,表示循环n次。如下⾯例题中i=0,i=1,i=2时都执⾏⼀次语句内的代码,也就是3次。

for i in range(0,3):
   print('每天想你第'+str(i)+'遍')
#结果显示为:
#每天想你第0遍
#每天想你第1遍
#每天想你第2遍
  1. 使⽤range()函数,可以⽣成⼀个整数序列。
  2. 参数的意义:
     range(n)与range(0,n)⼀样,都是⽣成⼀个从0到n-1的整数序列
     range(m,n),n>m,⽣成从m到n-1的序列。取头不取尾。
     range(m,n,p),n>m,⽣成m到n-1中间隔为p的整数序列。例如range(3,30,5)的意思就是从3开始每间隔5取⼀个数,直到29,结果为[3,8,13,18,23,28]。(只有两个参数时,p默认为1)

三)while循环
1.与if条件判断类似,while后条件若满⾜,会进⼊语句内部循环直⾄条件不再满⾜或内部打断。
2.⽤于处理未知循环次数或循环固定次数的问题。
3.格式
 在while循环前要定义变量
 为避免陷⼊死循环,在循环内必须更新变量,如⾃加:a=a+1,也可以简 写成:a+=1。
 循环体内部需要缩进!

x = 0
#非格式要求,但在while循环前必须要定义变量
while x < 6:
    x = x+1
    print(x)
#显示结果为:(不显示0是因为a先自加再输出,此时赋值已更新)
#1
#2
#3
#4
#5
#6
x = 0
while x < 6:
    x = x+1
 print(x)
#显示结果为:(因为print()在循环外,只输出最终x的赋值)
#6

四)while循环与f or循环的差异
while循环与for循环的最大区别在于,while循环是基于条件判断的循环,而for循环则是基于容器的循环。对于while循环来说,当条件满足时,将一直处于循环状态,除非碰见break关键词;对于for循环来说,当容器内的元素没有迭代结束,则一直处于循环状态,同样碰见break关键词时也会退出循环。
所以,在做循环问题时,首先自问循环过程中有没有明确的迭代对象(即容器),然后再根据判断结果,选择优先方案,即如果有迭代对象,则优先使用for循环,否则优先使
用while循环。


Raymond
1 声望1 粉丝

引用和评论

0 条评论