一,Python提供了多种类型的循环语句,包括for循环和while循环:
for循坏;
for循环用于遍历可迭代对象(例如列表、元组、字典等),并根据指定的条件重复执行代码块,语法如下:
for 变量 in 可迭代对象:
#代码块
示例一:遍历列表的值并打印出来
my_list = [1, 2, 3, 4, 5]
for i in my_list:
print(i)
实例集合:
# for循环语句的使用
# 字符串0123456789
# 把这个字符串逐个输出
str01 = "0123456789"
# 从str01这个变量中每一次取出一个元素赋值给y
for y in str01:
print(y)
# 使用range()内置函数输出0-9的数字
# range(stop):生成从 0 到 stop-1 的整数序列。
# range(start, stop):生成从 start 到 stop-1 的整数序列。
# range(start, stop, step):生成从 start 到 stop-1 的整数序列,步长为 step。
# 第一个参数表示开始的数字,默认为0,可以省略
# 第一个参数表示结束的数字
# 第一个参数表示递增的数值,默认为1,可以省略
for m in range(0,10,1):
print(m, end="")
# 通过for循环输出3-8的数
for i in range(3,9):
print(i, end="")
# 通过for循环输出0-5的数
for i in range(0,6):
print(i, end="")
# 通过for循环输出0-9的偶数
for i in range(0,10,2):
print(i, end="")
# 通过for循环输出0-9的奇数
for i in range(1,10,2):
print(i, end="")
# break:终止当前这次循环
# 例如:累加10-20的数字,判断是否累加和等于60,如果等于则终止循环,并输出循环次数
# 定义变量统计累加和
sum=0
# 定义一个变量用于统计循坏次数
num=0
# 从10-20循坏
for m in range(10,21):
# 每循坏一次做累加
sum=sum+m
num = num + 1
# 判断累加和之后的结果是否等于60
if sum>=60:
# 如果等于60,则终止循环,不需要再进行累加
print(f"当前循坏次数{num}次,得到累加和为60")
break
# 使用for循坏嵌套,输出10行10列的*号,输出到第7行就停止循坏
for i in range(1,11):
for j in range(1,11):
print("*",end="")
print()
if i >= 7:
break
# 使用for循环嵌套打印九九乘法表
for i in range(1,10): # 外层循环控制行
for j in range(1,i+1): # 外层循环控制列
print(f"{i}*{j}={j*i}", end="\t")
print()
# 使用for循环嵌套打印九九乘法表前三列
for i in range(1,10): # 外层循环控制行
for j in range(1,i+1): # 外层循环控制列
print(f"{i}*{j}={j*i}", end="\t")
if j>=3:
break
print()
# continue关键词:用于在循环过程中,跳过本次循坏,进入下一次循坏
# 输出1-9,判断到5的时候一跳过
for a in range(1,10):
if a==5:
continue
print(a,end="")
2,while循环用于重复执行代码块,直到指定的条件不再满足为止,语法如下:
while 条件:
#代码块
示例一:在x小于10的情况下,循环遍历并打印x的值
x = 0
while x < 10:
print(x)
x += 1
实例集合:
# while循环的使用
# 计算出1-100的累加和
# 定义一个变量,用于统计累加和
sum=0
a=1
# 从1开始到100结束,超过100就停止循坏
while a<=100:
sum=sum+a
a=a+1 # a+=1
print(f"1-100的累加和为{sum},最终a变量的值为{a}")
# 计算出n!=1*2*3*4*5*6......*n,其中n的值为用户手动输入
'''
# 用for循环
q = int(input("请输入n的值"))
n = 1
for i in range(1,q+1):
n *= i
print(n)
'''
# 用while循环,计算n!(n的阶层)
n = int(input("请输入n的值"))
a = 1
sum = 1
while a <= n:
sum = sum*a
a=a+1
print(f"{n}!为{sum}")
# 使用*打印出一个10行10列的小正方形
# while循环嵌套使用
# 外重循环控制行
x = 1
while x <= 10:
# 内重循环控制列
a = 1
while a <= 10:
print("*", end="")
a += 1
x += 1
print("")
# 使用*打印出一个10行10列的直角三角形
# while循环嵌套使用
# 外重循环控制行
x = 1
while x <= 10:
# 内重循环控制列
a = 1
while a <= x:
print("*", end="")
a += 1
x += 1
print("")
注意:必须在循环内改变循环条件的值,否则会导致无限循环。
for循坏嵌套
实例:使用for循环嵌套打印九九乘法表
# 使用for循环嵌套打印九九乘法表
for i in range(1,10): # 外层循环控制行
for j in range(1,i+1): # 外层循环控制列
print(f"{i}*{j}={j*i}", end="\t")
print()
while循环嵌套
实例:使用*打印出一个10行10列的直角三角形
# 使用*打印出一个10行10列的直角三角形
# while循环嵌套使用
# 外重循环控制行
x = 1
while x <= 10:
# 内重循环控制列
a = 1
while a <= x:
print("*", end="")
a += 1
x += 1
print("")
range的使用
示例:
range()
是Python内置的函数,用来生成一个整数序列。range()
基本语法如下:
range(start, stop[, step])
其中,start
是生成的第一个整数(默认为 0),stop
是生成的最后一个整数(不包含该数),step
是两个整数之间的差值(默认为 1)。
实际上,range()
生成的是一个可迭代对象,需要与for
循环一起使用。
示例:生成一个从0到9的整数序列
for i in range(10):
print(i)
输出结果:
0
1
2
3
4
5
6
7
8
9
示例:生成一个从1到10的偶数序列
for i in range(2, 11, 2):
print(i)
输出结果:
2
4
6
8
10
在实际开发中,常用range()
函数来控制循环次数或生成整数序列。
break的使用
break
是Python中的一个控制语句,用于立即终止循环并跳出循环语句。如果在循环代码块中遇到break
语句,Python解释器就会跳出该循环并执行循环之后的代码。
示例:循环遍历一个列表,当遇到数字3时跳出循环并打印出"break"
my_list = [1, 2, 3, 4, 5]
for i in my_list:
if i == 3:
print("break")
break
print(i)
输出结果:
1
2
break
在上面的例子中,当i
等于3时,遇到了break
语句,循环立即终止,后面的代码print(i)
将不会被执行。
注意:break
只能用于循环语句(for
、while
等),不能用于其他场景。另外,尽量避免过多使用break
语句,否则会使程序难以理解和维护。
continue的使用
continue
是Python中的一个控制语句,用于跳过当前循环中的剩余代码,继续执行下一次循环。当Python解释器遇到continue
语句时,会立即停止当前迭代,跳过剩余代码,并开始下一次迭代。通常continue
语句都与if
条件一起使用,用来跳过一些特殊情况的处理。
下面是一个循环遍历列表的例子,用continue
跳过列表中的偶数:
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in my_list:
if i % 2 == 0:
continue
print(i)
输出结果:
1
3
5
7
9
在上面的例子中,我们使用了一个if条件语句和一个取模运算符来判断是否为偶数。当条件成立时,即i % 2 == 0
时,使用continue
语句跳过本次循环,否则执行打印语句print(i)
,打印出列表中的奇数。
需要注意的是,continue
只能用于循环语句(for
、while
等),不能用于其他场景。另外,尽量避免过多使用continue
语句,以保证程序的可读性和维护性。