Python 循环
Python提供了以下循环来满足循环需求。Python提供3种选择来运行循环。所有技术的基本功能都是相同的,尽管语法和检查条件所需的时间的量不同。
我们可以使用循环命令重复运行单个语句或一组语句。
Python编程语言提供了以下类型的循环。
序号 | 循环名称 | 循环类型和描述 |
---|---|---|
1 | While循环 | 在给定条件为真时重复执行一条语句或一组语句。在执行循环主体之前,它先测试条件。 |
2 | For循环 | 这种类型的循环多次执行一个代码块,并简化了管理循环变量的代码。 |
3 | 嵌套循环 | 我们可以在另一个循环中迭代一个循环。 |
循环控制语句
用于控制循环和改变迭代过程的语句被称为控制语句。在执行完成后,循环内部范围产生的所有对象都会被删除。
Python提供了以下控制语句。我们稍后会详细讨论它们。
让我们快速浏览一下这些循环控制语句的定义。
序号 | 控制语句名称 | 描述 |
---|---|---|
1 | Break 语句 | 该命令终止循环的执行并将程序的控制转移到循环旁边的语句。 |
2 | Continue 语句 | 该命令跳过当前循环的迭代。一旦Python解释器到达继续语句,继续语句之后的语句不会被执行。 |
3 | Pass 语句 | 当语法上必要但不需要执行任何代码时,使用占位语句。 |
循环
Python的for循环被设计为在迭代列表、元组、字典或其他Python可迭代对象时重复执行代码块的操作。遍历序列的过程称为迭代。
for循环的语法
for value in sequence:
{ code block }
在这种情况下,变量值用于在迭代开始之前保存序列中每个项目的值,直到完成这次特定的迭代。
循环迭代直到到达序列的最后一个项目。
代码
# Python program to show how the for loop works
# Creating a sequence which is a tuple of numbers
numbers = [4, 2, 6, 7, 3, 5, 8, 10, 6, 1, 9, 2]
# variable to store the square of the number
square = 0
# Creating an empty list
squares = []
# Creating a for loop
for value in numbers:
square = value ** 2
squares.append(square)
print("The list of squares is", squares)
输出:
The list of squares is [16, 4, 36, 49, 9, 25, 64, 100, 36, 1, 81, 4]
使用for循环的else语句
如前所述,for循环会执行代码块,直到遍历完序列元素。该语句紧跟在for循环执行之后,当for循环的执行完成后执行。
只有在执行完成后,else语句才会起作用。如果我们退出循环或抛出错误,则不会执行该语句。
下面是一段代码,以更好地理解if-else语句。
代码
# Python program to show how if-else statements work
string = "Python Loop"
# Initiating a loop
for s in a string:
# giving a condition in if block
if s == "o":
print("If block")
# if condition is not satisfied then else block will be executed
else:
print(s)
输出:
P
y
t
h
If block
n
L
If block
If block
p
现在同样地,使用else与for循环。
语法:
for value in sequence:
# executes the statements until sequences are exhausted
else:
# executes these statements when for loop is completed
代码
# Python program to show how to use else statement with for loop
# Creating a sequence
tuple_ = (3, 4, 6, 8, 9, 2, 3, 8, 9, 7)
# Initiating the loop
for value in tuple_:
if value % 2 != 0:
print(value)
# giving an else statement
else:
print("These are the odd numbers present in the tuple")
输出:
3
9
3
9
7
These are the odd numbers present in the tuple
range() 函数
借助 range() 函数,我们可以生成一系列数字。range(10) 会生成从 0 到 9 的值(10 个数字)。
我们可以用指定的起始值、结束值和步长值来使用 range(start, stop, step size)。如果步长值没有指定,就默认为 1。
由于它在构建后并不会创建它所“包含”的每一个值,因此 range 对象可以被描述为“慢”。它提供了 in、len 和 getitem 操作,但它不是一个迭代器。
下面的示例将说明这一点。
代码
# Python program to show the working of range() function
print(range(15))
print(list(range(15)))
print(list(range(4, 9)))
print(list(range(5, 25, 4)))
输出:
range(0, 15)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
[4, 5, 6, 7, 8]
[5, 9, 13, 17, 21]
为了遍历一系列的项目,我们可以在for循环中应用range()方法。我们可以使用索引结合一个可迭代对象的len()函数来遍历给定的序列。这里是一个示例。
代码
# Python program to iterate over a sequence with the help of indexing
tuple_ = ("Python", "Loops", "Sequence", "Condition", "Range")
# iterating over tuple_ using range() function
for iterator in range(len(tuple_)):
print(tuple_[iterator].upper())
输出:
PYTHON
LOOPS
SEQUENCE
CONDITION
RANGE
循环
在Python中使用while循环来迭代,直到满足指定条件。然而,一旦条件变为假,后续的程序语句在执行一次后即停止。
while循环的语法是:
while :
{ code block }
所有跟在结构性命令之后的编码语句都定义了一个代码块。这些语句都是以相同数量的空格进行缩进的。Python通过缩进将语句分组在一起。
代码
# Python program to show how to use a while loop
counter = 0
# Initiating the loop
while counter < 10: # giving the condition
counter = counter + 3
print("Python Loops")
输出:
Python Loops
Python Loops
Python Loops
Python Loops
使用while循环的else语句
正如之前在for循环部分讨论的那样,我们也可以在while循环中使用else语句。它的语法与for循环相同。
代码
#Python program to show how to use else statement with the while loop
counter = 0
# Iterating through the while loop
while (counter < 10):
counter = counter + 3
print("Python Loops") # Executed untile condition is met
# Once the condition of while loop gives False this statement will be executed
else:
print("Code block inside the else statement")
输出:
Python Loops
Python Loops
Python Loops
Python Loops
Code block inside the else statement
单语句while块
循环可以在一行代码中声明,如下所示。这与if-else块类似,我们可以在一行中编写代码块。
代码
# Python program to show how to write a single statement while loop
counter = 0
while (count < 3): print("Python Loops")
循环控制语句
现在我们将详细讨论循环控制语句。我们将看到每个控制语句的一个例子。
Continue语句
它返回到循环的开头。
代码
# Python program to show how the continue statement works
# Initiating the loop
for string in "Python Loops":
if string == "o" or string == "p" or string == "t":
continue
print('Current Letter:', string)
输出:
Current Letter: P
Current Letter: y
Current Letter: h
Current Letter: n
Current Letter:
Current Letter: L
Current Letter: s
break语句
当遇到中断语句时,它会停止循环的执行。
代码
# Python program to show how the break statement works
# Initiating the loop
for string in "Python Loops":
if string == 'L':
break
print('Current Letter: ', string)
输出:
Current Letter: P
Current Letter: y
Current Letter: t
Current Letter: h
Current Letter: o
Current Letter: n
Current Letter:
pass语句
通过语句用于创建空循环。通过语句还可以用于类、函数和空控制语句。
代码
# Python program to show how the pass statement works
for a string in "Python Loops":
pass
print( 'Last Letter:', string)
输出:
Last Letter: s