一、解释说明
for循环和while循环是python中两种常用的循环结构,用于重复执行一段代码。
for循环:for循环通常用于遍历序列(如列表、元组、字符串等)中的每个元素。在每次循环中,序列中的当前元素会被赋值给循环变量,然后执行循环体中的代码。当序列中的所有元素都被遍历后,循环结束。
while循环:while循环会一直执行循环体中的代码,直到给定的条件不再满足。在每次循环开始时,会检查条件是否为真,如果为真,则执行循环体中的代码;如果为假,则跳出循环。
二、for循环
一般格式为:
for 变量 in 序列:
口#执行的代码块
下面是一个简单的for循环示例,用于遍历一个列表并打印每个元素。
代码:
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
口print(fruit)
输出:
apple
banana
cherry
print()使代码运行更直观。看懂它的作用了吗?
此外,还可以使用range()函数生成一个数字序列,并在for循环中使用它。
代码:
for i in range(5):
口print(i)
输出:
0
1
2
3
4
以及括号中的数字选填。如果填数字,该怎么填呢?
Ⅰ当填一个数字时,将它打印出来,就是从0开始到该数字的一串整数列,即0,1,2,3……
Ⅱ当填两个数字时(a和b),将它打印出来,就是从a开始到b的一串整数列。例如,当a=2,b=5时,会打印2,3,4(可反过来打印倒序)
Ⅲ当填三个数字时(a和b和c),将它打印出来,就是从a开始,每隔c打印一次,一直到b停止。例如,当a=1,b=7,c=2时,会打印1,3,5。如果c为负数,注意a要大于b,这样就会打印倒序。
(a,b,c用逗号隔开)(包前不包后)
〇注意事项
for循环可以与else语句一起使用。else子句在循环正常结束时执行,即没有遇到break语句。如果循环被break语句中断,则不会执行else子句。
如果在for循环中需要修改正在迭代的序列,可以使用切片或者创建一个副本来避免错误。直接修改序列可能会导致意外的结果或错误。
如果要同时获取元素的索引和值,可以使用内置函数enumerate()。
代码:
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
口print(f"Index {index}: {fruit}")
输出:
Index 0: apple
Index 1: banana
Index 2: cherry
三、while循环
基本语法如下:
while condition:
口#执行的代码块
其中,condition是一个布尔表达式,如果其值为True,则执行循环体内的代码块;如果其值为False,则跳出循环。
下面是一个简单的while循环示例,用于计算1到10的累加和。
代码:
sum = 0
i = 1
while i <= 10:
口sum += i
口i += 1
print(sum)
输出:
55
在这个示例中,我们首先初始化变量sum为0,用于存储累加和。然后,我们设置一个计数器变量i为1。接下来,我们使用while循环,当i小于等于10时,将i的值累加到sum中,并将i的值加1。当i大于10时,循环结束,打印累加和的结果。
〇注意事项
while循环的条件必须能够在某个时刻变为False,否则会导致无限循环。因此,确保循环条件最终会改变是编写while循环时的重要考虑因素。
在循环体内,可以使用break语句提前退出循环。例如,如果我们想要在累加和达到某个特定值时停止循环,可以这样写。
代码:
sum = 0
i = 1
target_sum = 50
while i <= 10:
口sum += i
口if sum >= target_sum:
口口break
口i += 1
print(sum)
输出:
55
在这个示例中,我们在循环体内添加了一个if语句,当累加和达到或超过目标值时,使用break语句跳出循环。
以及,如果想结束这次循环,直接跳到下一次循环,将break替换为continue就可以了。
【注】
break v. 打破
continue v. 继续
while conj. 当……时
enumerate v. 列举
cherry n. 樱桃
apple n. 苹果
banana n. 香蕉
“口”为缩进一次
。
修正了一个小错误
第8章 循环