Python 循环

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程