计算机程序的三大语句结构之一示意图
循环也是计算机程序的三大语句结构之一。它是在满足条件的情况下,反复执行某一段代码的计算过程。
# 例子 循环 原本需要编写 10 行的代码,现在使用【循环】后,编写方便了很多。在 Python 中,循环语句有两类:for 循环和 whilenumberList = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
for number in numberList:
print(number)
# 输出结果
10
20
30
40
50
60
70
80
90
100
# 例子
dateList = [19930506, 19940114, 19951101, 19960704]
for oneDate in dateList:
print(oneDate)
# 例子
fruitList = ["apple", "grape", "cherry"]
for fruit in fruitList:
print(fruit)
# 例子
name = ["david","bob","bill"]
for i in name:
print(i)
print(i)
# 输出结果
david
bob
bill
bill
# 例子
name = ["david","bob","bill"]
for i in name[1:]:
print(i)
print(i)
# 输出结果
bob
bill
bill
# 例子
name = ["david","bob","bill"]
newList = []
for i in name[1:]:
newList.append(i)
print(newList)
# 输出结果
['bob', 'bill']
for循环应用:累加/累乘
for循环经常应用在多个数累加/累乘的计算中,也就是说需要反复多次地对大量数字进行同样地操作。
比如我有一个列表,里面是自己京东账户购物车里的5件商品的价格,然后需要计算清空购物车花多少钱。
# 例子JDList = [109.0, 21.5, 30.0, 509.0]
Sum = 0
for Price in JDList:
Sum = Sum + Price
print(Sum)
# 输出结果
669.5
遍 历
遍历的定义:指通过某种顺序对一个数据结构中的所有元素进行访问。隐喻:遍历就像点名,需要有顺序地对所有成员进行一次“查询”。
for 循环遍历字典的键,有两种方法可以使用:一是 for 循环遍历字典; 这个方法和 for 循环遍历列表的格式类似。二是 for循环遍历字典中的所有键; 使用 for 循环遍历 dict.keys(),将字典中的键赋值给变量,再通过 print() 输出变量。
# 例子studentAge = {"Gary": 14, "Adam": 13, "Jack": 15}
for key in studentAge:
print(key)
# 输出结果
Gary
Adam
Jack
# 例子
studentAge = {"Gary": 14, "Adam": 13, "Jack": 15}
for key in studentAge:
print(studentAge[key])
# 输出结果
14
13
15
遍历字典的键和值: 刚才我们使用 for 循环遍历字典的键和字典的值,如果想要同时输出字典的键和值,该怎么办呢?这时,我们可以在循环内部分别输出字典的键和对应的值。 注意,在 for 循环中,一次循环会把循环内的代码全部执行完后,再开始下一次循环。
# 例子studentAge = {"Gary": 14, "Adam": 13}
for key in studentAge:
print(key)
print(studentAge[key])
# 输出结果
Gary
14
Adam
13
# 例子
age = {"Gary": 14, "Adam": 13, "Jack": 15, "Max":13, "Tim":14}
for key in age:
print(key)
print(age[key])
# 输出结果
Gary
14
Adam
13
Jack
15
Max
13
Tim
14
# 例子
Names = ["Tony", "Kevin", "Asum", "Jessica", "Monic", "Black"]
for name in Names:
print(name)
# 例子
studentAge = {"Gary": 14, "Adam": 13}
for key in studentAge:
print(key)
print(studentAge[key])
# 例子
Names = ["Tony", "Kevin", "Asum", "Jessica", "Monic", "Black"]
for name in Names:
print(name)
# 例子
list = [44, 51, 38, 66, 90]
sum = 0
for value in list:
sum = sum + value
print(sum)
while循环 -- 条件循环
条件循环又称while循环,是一种以关键字while开头,以判断条件是否成立来决定是否重复执行某些代码的执行顺序。判断条件为真就继续循环执行,判断条件为假就终止循环。
# 用for和while循环 打印一个列表(list)里面的所有元素。NumberList = [1,2,3,4,5]
for i in NumberList:
print(i)
NumberList = [1,2,3,4,5]
j = 0
while j < 5:
print(NumberList[j])
j = j + 1
自增/自减是指在循环等结构中有一个起“计数器”作用的变量,通过对这个变量的增减,来控制循环终止的条件。
count = 1while count <=5:
print(count)
count = count + 1
count = 5
while count >=1:
print(count)
count = count - 1
# 例子 这四行代码使用了while循环把小于等于100的数字全部打印出来。
# 第一行代码初始化了变量Counter的值,赋值为0;
# 第二行到第四行就是while循环结构。
# 第二行使用while循环来判断当前的Counter是不是小于等于100。如果是,就继续执行下面的缩进代码;如果不是,就程序就终止。
# 第三行,在while循环为True的情况下,打印当前Counter的值;
# 第四行,在while循环为True的情况下,给当前的Counter加1再赋值给Counter,得到新的Counter,继续回到第二行代码,不断循环,直到while循环判断为False,程序结束。
Counter = 0
while Counter <= 100:
print(Counter)
Counter = Counter + 1
# 例子
sum= 0
counter= 0
while counter < 5:
sum = sum + counter
counter = counter + 1
print(sum)
# 输出结果:
0
1
3
6
10
# 例子
sum= 0
counter= 0
while counter < 5:
sum = sum + counter
counter = counter + 1
print(sum)
# 输出结果
10
# 例子
sum= 0
counter= 0
while counter < 5:
counter = counter + 1
sum = sum + counter
print(sum)
# 输出结果
15
总结:for循环和while循环的区别
简而言之,需要记住三条:
break、continue 跳出循环
迭代 Iteration 定义:编程中的迭代是指重复执行某些代码,每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。在实际应用中迭代经常和循环混用。
无论是for循环还是while循环,在一个大循环里面,默认的终止条件都是边界条件。在触发边界条件之前,代码会一直循环执行。break、continue可以改变这种“默认循环执行”。
continue的作用:跳过本次迭代(小循环)中它后面的剩余代码,直接进入下一次迭代。
# 例子NumberList = [1,2,3,4,5,6,7,8,9,10]
for i in NumberList:
if i <= 5:
continue
print(i)
print(i)
#输出结果
6
7
8
9
10
break的作用:跳出整个大循环,终止整个循环语句的执行,让代码从循环外的第一行开始执行。break会“跳出”或终止某一个循环,它结束的是整个循环结构。
# 例子NumberList = [1,2,3,4,5,6,7,8,9,10]
for i in NumberList:
if i > 5:
break
print(i)
# 输出结果 如果i>5在循环体内就没有输出,第一次就跳出了循环,结束了整个循环
1
2
3
4
5# 例子
NumberList = [1,2,3,4,5,6,7,8,9,10]
for i in NumberList:
if i <= 5:
continue
print(i)
print(i)
#输出结果
6
7
8
9
10
# 例子
number = [1,-2,3,-4,5,-6]
for i in number:
if i < 0:
continue
print(i)
# 输出结果
1
3
5
# 例子
NumberList = [10, 4, 1, -1, 20, 6, 7, -20, 2, 13]
for i in NumberList:
if i <= 5:
continue
print(i)
print(i)
# 输出结果
10
20
6
7
13
# 例子
NumberList = [10, 4, 1, -1, 20, 6, 7, -20, 2, 13]
for i in NumberList:
if i > 5:
continue
print(i)
print(i)
# 输出结果
4
1
-1
-20
2
# 例子
List = [1, 10, 100, 50, 40, 30, 200]
for i in List:
if i <= 50:
continue
print(i)
# 输出结果 打印出里面大于50的数字
100
200
# 例子 下面三个例子需要比对看,掌握缩进和对齐的用法
NumberList = [10, 4, 1, -1, 20, 6]
for i in NumberList:
if i <= 5:
continue
print(i)
# 输出结果 打印出大于5的数 print和if同级,每次都打印。
10
20
6
# 例子
NumberList = [10, 4, 1, -1, 20, 6]
for i in NumberList:
if i <= 5:
continue
print(i)
# 输出结果 内循环是打印出大于5的数 print和for同级,不是每次循环都打印,只打印最后一次。
6
# 例子
NumberList = [10, 4, 1, -1, 20, 6]
for i in NumberList:
if i <= 5:
continue
print(i)
# 输出结果 print()语句不仅在for循环以内并且在if判断里面,所以当i小于等于5的时候,判断为True,执行continue,程序会跳过同级的print(),结束本次迭代。而当i大于5的时候,判断为False,没有程序执行。所以整个程序没有输出。
没有输出
# 例子
NumberList = [1,2,3,4,5,6,7,8,9,10]
for i in NumberList:
if i > 5:
break
print(i)
# 输出结果 如果i>5在循环体内就没有输出,第一次就跳出了循环,结束了整个循环
1
2
3
4
5
# 例子
number = [1,-2,3,-4,5,-6]
for i in number:
if i < 0:
print(i)
break
# 输出结果
-2
# 例子
NumberList = [10, 4, 1, -1, 20, 6, 7, -20, 2, 13]
for i in NumberList:
if i > 10:
print(i)
break
# 输出结果
20
# 例子
Number = [3, 7, 6, 4, 8]
for i in Number:
if i <= 5:
continue
print(i)
# 输出结果 找出其中大于5的数字并输出
7
6
8
# 例子 现在班级内有一个活动,五个同学报了名,只能让前三个报名的同学参加,并输出他们的名字。
Names = ['James', 'Tony', 'LiLei', 'HanMeimei', 'Pony']
i = 0
for N in Names:
if i < 3:
print(N)
i=i+1
continue
Names = ['James', 'Tony', 'LiLei', 'HanMeimei', 'Pony']
n = 0
for i in Names:
if n == 3:
break
print(i)
n = n + 1
continue和break 不同之处在于:continue是跳过小循环中剩下的代码,继续下一次迭代。而break直接终止整个大循环。