前言
在 Python 编程的世界里,循环是一种不可或缺的控制结构,它能让程序重复执行特定的代码块,极大地提高编程效率。本文将详细介绍 Python 中常见的循环类型以及相关的控制语句,帮助你轻松掌握循环的使用技巧。
一、for 循环
for 循环是 Python 中应用极为广泛的循环结构,它主要用于遍历序列或可迭代对象,如列表、元组、字符串、字典等。其基本语法格式为:
for 变量 in 可迭代对象:
循环体语句
例如,当我们要遍历一个列表并打印其中的元素时,可以这样写:
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
运行这段代码,会依次输出列表中的每个水果名称。在遍历字符串时,for 循环会逐个取出字符串中的字符;遍历字典时,默认遍历的是字典的键,若要遍历值或键值对,可使用 values () 或 items () 方法。
此外,for 循环还经常与 range () 函数配合使用。range () 函数可以生成一个整数序列,语法为 range (start, stop, step),其中 start 为起始值(默认为 0),stop 为结束值(不包含该值),step 为步长(默认为 1)。
比如,要打印 1 到 5 的整数,可编写如下代码:
for i in range(1, 6):
print(i)
如果需要倒序打印 10 到 1 的整数,可以设置 step 为 - 1:
for i in range(10, 0, -1):
print(i)
二、while 循环
while 循环是根据条件判断来决定是否执行循环体的,只要条件为真,就会一直执行循环体内的语句。其基本语法如下:
while 条件表达式:
循环体语句
例如,我们可以使用 while 循环实现从 1 数到 5 的功能:
count = 1
while count <= 5:
print(count)
count += 1
在使用 while 循环时,一定要注意设置合适的条件,避免出现无限循环的情况。如果不小心写出了无限循环,可以按下 Ctrl+C 来强制终止程序。
while 循环常用来处理那些循环次数不确定,但有明确结束条件的场景。比如,让用户输入密码,直到输入正确为止。
password = "python123"
while True:
password = input ("请输入密码:")
if password == password:
print ("密码正确,登录成功!")
break
else:
print ("密码错误,请重新输入。")
三、break 与 continue
在循环过程中,我们有时需要根据特定条件提前结束循环或跳过当前循环中的剩余语句,这就需要用到 break 和 continue 语句。
break 语句用于立即终止当前循环,并跳出循环体。例如,在一个遍历列表的循环中,当找到某个特定元素时,我们可以使用 break 语句结束循环:
numbers = [1, 3, 5, 7, 9]
target = 5
for num in numbers:
if num == target:
print ("找到目标元素")
break
print (num)
上述代码中,当循环到 5 时,会打印 “找到目标元素” 并终止循环,不会再打印后面的 7 和 9。
continue 语句则用于跳过当前循环中的剩余语句,直接进入下一次循环。比如,在打印 1 到 10 的整数时,我们想跳过偶数,可以这样写:
for i in range(1, 11):
if i % 2 == 0:
continue
print(i)
运行这段代码,只会打印出 1、3、5、7、9 这些奇数。
需要注意的是,break 和 continue 只对当前所在的循环起作用,如果存在循环嵌套,它们不会影响外层循环。
四、循环与 else
在 Python 中,循环还可以与 else 语句搭配使用,这是 Python 特有的语法结构。else 子句会在循环正常结束(即不是通过 break 语句终止)时执行。
其语法格式如下:
for 变量 in 可迭代对象:
循环体语句
else:
else 子句语句
或者
while 条件表达式:
循环体语句
else:
else 子句语句
例如,我们可以用循环判断一个数是否为质数,当循环正常结束时,说明该数是质数,此时执行 else 子句:
num = int(input("输入一个数字"))
for i in range(2,num):
if num % i == 0 :
print("这个数字不是质数")
break
else:
print("是质数")
在这个例子中,从2开始,到输入的数字前一位,用都用来和输入的数字除一遍,如果其中有因素导致相除的零,即代表输入的数字不是质数,他可以被别的数整除。
而如果进行到底任然没有找到可以整除输入数字的因子,代表输入的数字是质数,并打印“是质数”
循环与 else 的搭配为我们提供了一种更简洁、更直观的方式来处理循环结束后的逻辑,尤其在一些需要判断循环是否完整执行的场景中非常有用。比如在查找元素时,如果循环正常结束仍未找到,就可以在 else 子句中给出提示:
items = ["book", "pen", "ruler"]
search_item = "eraser"
for item in items:
if item == search_item:
print (f"找到了{search_item}")
break
else:
print (f"没有找到{search_item}")
总结
掌握 Python 中的循环知识,能让你在处理重复任务时更加得心应手。无论是 for 循环还是 while 循环,都有其适用的场景,而 break、continue 语句以及循环与 else 的组合则能让循环控制更加灵活。希望本文能帮助你更好地理解和运用 Python 中的循环结构,为你的编程之路助力。