目录
for循环
1 range的使用方式
range()是Python内置的函数,常用于配合for循环来生成一个整数序列,它有以下几种常见的使用方式。
(1)一个参数的情况
语法格式为range(stop),他会生成一个从0开始,到stop-1的整数序列,(步长默认为1)
例如:
for i in range(5):
print(i)
上述代码会依次输出0,1,2,3,4因为range(5)生成的就是包含这几个数字的整数序列。
(2)两个参数的情况
语法格式为range(start,stop) 它生成的整数序列从start开始(包含start),到stop-1结束(不包含stop),步长同样默认为1.
例如:
for i in range(1,5):
print(i)
这段代码会输出1,2,3,4。因为范围是从1开始到4(不包含5)的整数。
(3)三个参数的情况
语法格式为range(start,stop,step),因为step表示步长,也就是相邻两个数之间的差值。生成的整数序列从start开始(包含start),到stop-1结束(不包含stop),按照指定步长生成数字。
例如:
for i in range(1, 6, 1):
print(i)
输出结果为1,2,3,4,5 .因为起始值为1,步长为1,在不超过5的范围生成一个整数序列。当然步长也可以为其他数,比如步长为2,表示两个数之间的差值为2,则输出结果为1,3,5.
另一种情况则是步长为负数,比如-1,
for i in range(6,0, -1):
print(i)
此时的输出结果为6,5,4,3,2,1.因为范围就是从6到1的数字序列(不包含0),这种方式适用于逆序输出。
2 for基础格式
for循环的基础语法格式如下:
for 变量 in 可迭代对象:
#循环体,在这里执行需要重复的操作
语句块
其中,“变量”是在每次循环中用于接收可迭代对象的元素的,可迭代对象可以是列表,元组,字符串或者range生成的序列等各种能够逐一去除元素的数据结构。例如:
fruits = ["apple","banana","cherry"]
for fruit in fruits:
print(fruit)
在上述代码中,fruits是一个列表(属于可迭代对象),在每次循环时,列表中的元素依次赋值给变量fruit,然后在循环体中打印出该元素,最终会依次输出“apple” “banana” “cherry”
以下是一个简单的for循环,它的输出结果是从0到9的数字。
for i in range(10):
print(i)
这段代码的结果是输出了一个0,1,2,3,4,5,6,7,8,9的一个数字序列(不包含10, 此处内容为range的使用方式)
3 break和continue
(1)break
break语句用于立即终止当前所在的循环,不管循环条件是否满足,都会跳出循环,继续执行循环后面的语句。例如:
for i in range(1, 10):
if i == 5:
break
print(i)
在这个for循环中,当i的值等于5时,遇到break语句,循环就会直接结束,所以最终只会输出1,2,3,4.
(2)continue
continue语句则是跳过当前这次循环中剩余的语句,直接进入下一次循环。例如:
for i in range(1,10):
if i == 5:
continue
print(i)
当i等于5时,执行到continue语句,就会跳过本次本次循环里continue后面的print(i)语句,直接进入下一次循环,所以最终的输出结果为1,2,3,4,6,7,8,9。
4 for与else
在Python中,for循环可以搭配else语句使用,else中的语句块会在for循环正常执行完(即不是通过break语句跳出循环)的情况下执行。例如:
for num in range(1, 5):
print(num)
else:
print("循环正常结束")
上述代码中,for循环会依次输出1,2,3,4,因为没有遇到break语句导致循环提前结束,所以循环结束后会接着执行else语句块中的内容,输出“循环正常结束”
但如果在循环中使用了break语句,else语句块就不会被执行了:例如:
for num in range(1, 5):
if num == 3:
break
print(num)
else:
print("循环正常结束")
在本例中,当num等于3时,break语句使得循环提前结束,那么else语句块中的内容就不会被执行了。
5 for嵌套
for签到就是在一个for循环内部在包含另一个for循环,一般常用于处理多维数据结构或者需要多层循环逻辑的情况。例如,打印九九乘法表可以使用for循环嵌套来实现。
for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j}*{i}={i * j}\t", end="")
print()
外层的for循环控制行数(从1到9),内层的for循环控制每行乘法算式的个数(与行数相关,第i行就是有i个算式)。在内层循环中打印乘法算式,通过end=“”让每个算式在同一行输出,并通过外层循环中的print()(默认换行)来实现结束后换行的效果,最终输出一个完整的九九乘法表。
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
for循环在python中是非常重要且常见的控制结构,熟练掌握上述知识点能帮助我们灵活的处理各种需要重复执行操作的编程任务。