目标

  1. while 语句
  2. for 循环遍历
  3. 完整的 for 循环遍历

while 语句的基本语法

图片说明

死循环:由于程序员的原因忘记在 循环内部 修改循环判断条件,导致循环持续执行,程序无法终止。

*break 和 continue * 是专门在循环体内部使用的关键字:

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,不执行continue后续的代码,继续进行下次循环(注意在循环中使用continue 这个关键字之前必须循环的计数是否,否则可能会导致死循环)
  • break 和 continue只针对当前所在循环有效

循环嵌套练习:

#循环结构练习——每行递增打印小星星

#实现方法一:
i = 1
while i <= 5:
    print('*' * (i) )
    i += 1

#实现方法二:
row = 1
while row <= 5:
    col = 1  #每次col都更新为1.从1开始递增
    while col <= row:
        print('*',end = '')
        col += 1
    row += 1
    print('')  #这行代码的目的是在一行星星输出完成之后,添加换行

循环遍历

  • 遍历就是从头到尾依次从列表中获取数据,在循环体内部,针对每一个元素,执行相同操作
  • 在python 中为了提高列表的遍历效率,专门提供迭代 iteration 遍历
  • 使用for 就能实现迭代遍历所有非数字类型的变量:列表、字典、字符串、元组
name_list = ['zhangsan','lisi','wangwu']

for name in name_list:
    print('我的名字叫 %s' % name)

for 实现循环遍历不需要像 while 一样定义计数器以及改变计数器

完整的 for 循环语法
在python中完整的 for 循环语法如下:

图片说明

开发中的常用场景:
如果希望在搜索列表时,所有字典经检查之后,都没有发现需要搜索的目标,还希望得到一个统一的提示!

# 请注意这是两个字典组成的列表
find_name = "小明"
students = [{"name":"小叶"},
           {"name":"小花"}]
for stu_dic in students:
    print(stu_dic)
    if stu_dic["name"] == find_name:
        print("找到 %s" % find_name)
        break
else:
    print("未找到 %s" % find_name)
print("搜索完毕")