目录
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()(默认换行)来实现结束后换行的效果,最终输出一个完整的九九乘法表。
for循环在python中是非常重要且常见的控制结构,熟练掌握上述知识点能帮助我们灵活的处理各种需要重复执行操作的编程任务。
while循环
在Python中,while循环是一种重要的控制流结构,用于在满足特定条件时重复执行一段代码块。
1.基本语法与执行流程
语法格式
while 条件表达式:
循环体代码块
执行流程:
首先对条件表达式进行求值判断,如果条件表达式的值为True,则执行循环体代码块中的代码;执行完一次循环体后,会再次回到条件表达式进行判断,若依然为True,则继续执行循环体,如此反复,直到不满足表达式,此时while循环结束,程序执行循环结构后边的代码。
例如,以下代码使用while循环来打印数字1到5
i=1
while i<=5:
print(i)
i += 1
在本例中,首先将变量i的值初始化为1,然后进入while循环,首先判断i<=5这个表达式,此时为True,所以执行循环体,也就是打印i的值(此时i的值为1),然后通过i += 1将i的值更新为2,接着再次判断i<=5,依然为True继续执行循环体,以此类推,直到i的值不再满足i<=5,也就是i的值为6时,循环结束。
2. 使用场景
-
计数循环:
类似于前面打印数字 1 到 5 的例子,常用于按照一定的次数重复执行操作。例如,要计算 1 到 100 的整数之和,可以这样写:
sum_num = 0
i = 1
while i <= 100:
sum_num += i
i += 1
print(sum_num)
在这个代码中,通过 while 循环不断累加 i 的值到 sum_num 变量中,每次循环让 i 的值递增 1,直到 i 超过 100,循环结束后就得到了 1 到 100 的整数之和。
-
条件控制循环:
根据某个条件是否满足来决定循环是否继续,比如等待用户输入特定内容时,只要输入不符合要求就继续循环提示用户重新输入。以下是一个简单示例,要求用户输入一个正数:
num = 0
while num <= 0:
num = float(input("请输入一个正数: "))
print("你输入的正数是:", num)
在这个例子中,首先将 num 初始化为 0,进入 while 循环时,因为 num <= 0 条件为 True(初始值为 0),所以会提示用户输入一个正数。用户输入后,通过 float(input()) 获取输入的值并赋值给 num,然后再次判断 num <= 0 条件,如果依然不满足要求(输入的还是非正数),就继续循环让用户重新输入,直到输入的数大于 0,条件为 False,循环结束。
-
实现无限循环(需谨慎使用):
当条件表达式始终为True时,就会形成无限循环。例如:
while True:
print("这是一个无限循环示例")
这段代码会不停地打印 “这是一个无限循环示例”,通常无限循环需要搭配合适的条件判断在循环体内部,以便在满足特定条件时通过 break 等语句跳出循环,不然程序会一直处于这个循环中无法正常结束,比如下面结合 break 来实现一个简单的功能,不断接收用户输入,直到用户输入 “exit” 就退出循环:
while True:
user_input = input("请输入内容(输入'exit'退出): ")
if user_input == "exit":
break
print("你输入的是:", user_input)
3. 与 else 语句结合使用
while 循环可以和 else 语句搭配,当 while 循环正常结束(即不是通过 break 等语句强制跳出循环)时,会执行 else 语句块中的代码。例如:
i = 1
while i <= 5:
print(i)
i += 1
else:
print("循环正常结束啦")
在这个例子中,while 循环会依次打印出 1 到 5,然后因为条件 i <= 5 变为 False 正常结束循环,接着就会执行 else 语句块中的 “循环正常结束啦” 这行代码。
但如果在循环体中通过 break 语句提前跳出了循环,那么 else 语句块中的代码就不会被执行,如下所示:
i = 1
while i <= 5:
if i == 3:
break
print(i)
i += 1
else:
print("循环正常结束啦")
在这个例子中,当 i 的值为 3 时,通过 break 语句跳出了循环,此时就不会执行 else 语句块中的代码了。
4. 注意事项
-
避免死循环:
一定要确保循环条件在某个时刻能够变为False,否则会出现死循环,导致程序无法正常结束,除了有意为之的无限循环并搭配了合适的跳出机制外,要谨慎编写循环条件,防止出现逻辑错误造成死循环的情况。 -
循环体中变量的更新:
通常需要在循环体内部对参与循环条件判断的变量进行适当的更新操作,就像前面例子中通过i += 1来更新循环变量i的值一样,不然可能会导致循环条件一直满足或者一直不满足等不符合预期的情况,影响循环的正常执行。
1万+

被折叠的 条评论
为什么被折叠?



