目录
一、概述
循环结构是用来重复执行一段代码的多次的一种方式,Python 的循环结构主要有两种:for
循环和 while
循环。下面分别介绍它们的语法、用法和常见场景,并附上简洁示例。
二、for循环
1.语法
遍历可迭代对象(如列表、元组、字符串、字典等)或按次数重复执行,语法结构如下:
for 变量 in 可迭代对象:
循环体
2.应用
(1)简单应用
range()是python的内置函数,其用法是:可返回一系列的整数。例如:range(start,stop,step),从start开始到stop,不包含stop,每次增加step(步长,默认为1)。
# 循环语句:输出整数1-9
for i in range(1, 10):
print(i)
# 从1加到100
sums = 0
for n in range(1, 101):
sums += n
print(sums)
由此可见,通过for循环实现了上述两个简单的事例,分别是输出整数1-9,、将前100个整数进行连续求和。
(2)循环嵌套
所谓的循环换嵌套就是一层循环语句里面再套一层循环,通过循环嵌套,可以实现打印9*9乘法表,示例如下:
# 打印9*9乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{i}*{j}={i*j}", end=" ")
print("\n")
三、while循环
1.语法
当条件为 True
时重复执行,适合不确定循环次数的场景,语法结构如下:
while 条件:
循环体
2.应用
以下是从0计数到5的循环,这个案例通过for循环也可实现。
# 计数到5
count = 0
while count < 5:
print(count)
count += 1
除此简单的应用外,while语句也可以进行循环嵌套,此处不再进行赘述,参考for循环即可。
四、break语句
break语句用来结束整个循环。
#打印的结果是整数1,2,3,4,5,6,7,8
for i in range(1,100):
if i == 9:
break
print(f"第{i}次")
当满足i == 9这个条件时,break语句执行,结束了整个循环。
五、continue语句
continue语句结束本次循环,继续执行下一次循环。
for i in range(1,10):
if i % 3 == 1:
continue
print(f"第{i}次")
上述代码的执行结果是打印出来2、3、5、6、8、9,执行continue语句,除3余1的数跳过了。
对上述几种语句用法的简单比较:
场景 | 推荐循环类型 |
遍历列表/字符串 | for |
按次数重复 | for + range( ) |
条件未知时循环 | while |
需要提前终止循环 | break |
六、相关案例
案例一:输入一个数,判断是否是素数
# 输入一个数,判断是否是素数
number = int(input("输入一个整数:"))
is_prime = 1
for i in range(2, number):
if number % i == 0:
is_prime = 0
break
if is_prime:
print("该数是素数")
else:
print("该数不是素数")
案例二:最多输入10个位于10-50之间的整数,如果输入了30,则停止输入,计算输入的数字的平均数。
total_num = 0
count = 0
for m in range(10):
num = int(input("请求输入10-50之间的整数:"))
if 10 <= num <= 50:
if num == 30:
break
else:
count += 1
total_num += num
else:
print(f"该数字无效,请再次输入,您还剩下{9-m}次机会")
continue
print(f"输入的符合条件的数字的平均数为{total_num / count}")
案例三:求四位数闰年的个数。
count = 0
for year in range(1000, 10000):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
count += 1
print(count)
总结
Python循环分for
和while
两种。for
遍历序列或按次数执行,如for i in range(5)
;while
在条件为真时重复,适合不确定次数的场景。用break
提前退出,continue
跳过当前迭代,else
在循环正常结束时执行。遍历优先选for
,条件循环用while
,保持代码简洁,避免无限循环。