一、循坏

1)定义

循环是计算机程序的三大语句结构之一。 它是在满足条件的情况下,反复执行某一段代码的计算过程。

在 Python 中,循环语句有两类:for 循环和 while 循环

二、for循环的结构

numberList = [10, 20, 30, 40, 50, 60]

for number in numberList:   
    print(number)

结果

10
20
30
40
50
60

关键字 for,表明我们要在这里开始执行“for循环”的代码结构。使用关键词 in,和 for 搭配,表明我们要把 in 后面的列表里面的数据元素赋值给前面的变量。表示一个变量,在 for 循环里面用来存储列表中的元素。 在本例代码中,列表 numberList 中有 6 个元素,变量 number 会被赋值 6 次。冒号是循环语句的固定格式,表明接下来缩进的代码是每次循环都要执行的。循环内的代码块,直到列表 numberList 中的元素被全部赋值完,循环才结束。在本例中,由于列表 numberList 中的元素有 6 个,print()就要执行 6 次。

程序继续执行下面和 for 循环处于同一层级代码,输出变量 number,在运行结果中就输出了 60。

numberList = [10, 20, 30, 40, 50, 60]

for number in numberList:   
    print(number)
print(number)

因为变量 number 被赋值 6 次,循环结束后,变量 number 的值为 60。

三、遍历

遍历是指通过某种顺序对一个数据结构中的所有元素进行访问。
for循环不仅可以遍历列表,还可以遍历字典、元组、甚至字符串等数据结构。
遍历元组和字符串与遍历列表的代码几乎一样,也是逐个获取元组或字符串的每个字符。
or 循环遍历字典稍微有一些区别。

接下来,我们就来学习 for 循环遍历字典。字典是键值对的组合,那么对字典的遍历就包含***【键,值,键和值】***三种情况。

1)遍历字典的键

for 循环遍历字典的键,有两种方法可以使用:

  1. for 循环遍历字典;这个方法和 for 循环遍历列表的格式类似。
  2. for循环遍历字典中的所有键;
    使用 for 循环遍历 dict.keys(),将字典中的键赋值给变量,再通过 print() 输出变量。
studentAge = {"Gary": 14, "Adam": 13, "Jack": 15}
for key in studentAge:
    print(key)

结果

Gary
Adam
Jack

2)遍历字典的值

遍历字典的值,我们可以通过查字典的方式,也就是通过字典的键找到对应指定的值。

首先使用 for 循环遍历字典,将键赋值给变量,通过dict[键]的方式找到对应的值,并赋值给新的变量。

接着使用 print() 输出这个变量,即可遍历字典的值。

studentAge = {"Gary": 14, "Adam": 13, "Jack": 15}
for key in studentAge:
    print(studentAge[key])

结果

14
13
15

3)遍历字典的键和值

刚才我们使用 for 循环遍历字典的键和字典的值,如果想要同时输出字典的键和值,该怎么办呢?

这时,我们可以在循环内部分别输出字典的键和对应的值。

注意,在 for 循环中,一次循环会把循环内的代码全部执行完后,再开始下一次循环。

python变量循环 python循环定义_python变量循环


在本例中,for 循环遍历字典productItems,在第一次循环中,变量 key 被赋值为"口香糖"。

进入循环中,第3行代码获取到"口香糖"对应的值 15,并赋值给变量 value,在第4行和第5行分别输出"口香糖"和15。

接着进入第二次循环,变量 key 被赋值为"可乐",就这样执行完循环内的代码,再开始下一次循环,直到循环结束。

python变量循环 python循环定义_开发语言_02

四、遍历的运用

1)累加

jdList = [3, 1.5, 4, 2]
total = 0
for price in jdList:
    total = total + price
print(total)

结果

10.5

2)计数器

五、条件循环(while循环)

1)定义

条件循环,又称while循环,以判断条件是否成立,来决定是否执行循环内的代码。当判断为真时,代码会循环执行,当判断为假时则终止循环。这样的判断条件,我们称为——边界条件。

nameList = ["Max","Tom","Jim","Ken","Kim"]
counter = 0
while counter < 5:
    print(nameList[counter])
    counter = counter + 1

结果

Max
Tom
Jim
Ken
Kim

第3行使用while循环,判断Counter是否小于5。若是,就进入循环;若不是,程序就终止。 第4行,条件为True时,输出列表nameList中索引为Counter的元素;
第5行,在条件为True时,用Counter计数,继续回到第3行代码,不断循环,直到while循环判断为False,程序结束。

for循环是有天然的边界条件——完成遍历。 但while循环是有可能一直运行的。只要边界条件为真,它就会一直执行下去。 比如图中代码就会永远执行,这种循环我们又叫做”死循环”。

一般来说“死循环”是一个bug,它会导致程序一直无意义运行,我们在写代码的时候一定要尽量去避免。

图中,我们修改一下之前的代码,就不会进入死循环了。因为在执行完print()以后我们给tag变量赋值了False,此时while的判断条件为False,循环就结束了。

python变量循环 python循环定义_python变量循环_03

2) for与while的循环

第一个区别

for循环是在每一次循环的时候,按照从头到尾的顺序自动遍历,给变量name赋值列表中的元素;
而while循环是用一个计数器来索引列表,分别访问这个列表里面的每个元素。

第二个区别

循环的终止条件不一样。for循环的终止条件是遍历完这个列表;while循环的终止条件是边界条件,counter<5,当边界条件为True的时候继续执行代码,为False的时候就终止执行。

六、循环的终止条件

无论是for循环还是while循环,默认的终止条件都是边界条件。在触发边界条件之前,代码会一直循环执行。
某些场景里,需要在特定的条件出现时强行终止循环,并执行循环之后的代码。这时候,就可以使用 break 这个关键字来完成。

1)break语句

break语句既可以用在for循环中也可以用在while循环中。

它一般和if语句搭配在一起使用,表示如果满足了某种特定条件,就直接终止当前的循环结构。

numberList = [10, 4, 1, 20, 6]
for i in numberList:
    print(i)
    if i > 15:
        break
print(numberList)

结果

10
4
1
20
[10, 4, 1, 20, 6]

while循环里break的用法和在for循环中类似。

示例中,n的初始值为0,我们使用while循环依次输出小于10的整型。

python变量循环 python循环定义_python变量循环_04


我们刚刚学习了,即使在边界条件保持为True时,也可以通过使用break来终止整个循环结构。

但是,如果只想跳过循环内某些语句,接着返回到循环的开头,继续进入下一次循环,该怎么办?

2)contin语句

continue会“跳过”本次循环内的剩余代码

drinks = ["water", "coke", "tea", "milk"]
for item in drinks:
    if item == "coke":
        continue
    print(item)

结果

water
tea
milk

这5行代码遍历了一个列表drinks。第2-5行是一个完整的循环结构。在循环内,通过if语句判断该列表中是否有元素是"coke"。如果有,则跳过本次循环中的剩余代码,也就是第5行的print(item),直接进入到下一次循环。如果没有,就执行print(item),然后进入下一次循环,直到列表drinks中所有元素都被取完为止。

while循环里continue的用法和在for循环中类似。示例中,n的初始值为0,我们使用while循环依次输出小于10,但不包含5的整型。

python变量循环 python循环定义_开发语言_05


有的同学可能已经发现,continue是可以被if语句替代的,比如刚才的例子就有两种写法。对比单纯地使用if语句,continue的优势在于它能加快程序的运行时间。编程的世界是非常灵活的,同学们在实际应用中可以根据自己的需要来进行选择。

python变量循环 python循环定义_赋值_06