程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

python中的循环

hfteth 2025-01-15 13:36:50 技术文章 9 ℃

Python编程语言提供了以下类型的循环来处理循环需求。Python提供了三种执行循环的方式。尽管所有方式都提供相似的基本功能,但是它们的语法和条件检查时间有所不同。

1. While循环

在python中,while循环用于重复执行语句块,直到满足给定条件为止。 并且当条件变为假时,将立即执行程序中循环之后的行。

语法

while expression:
    statement(s)

所有缩进相同数量字符空间的语句都被视为单个代码块的一部分。Python使用缩进作为其对语句进行分组的方法。

示例:

# Python program to illustrate 
# while loop 
count = 0
while (count < 3):     
    count = count + 1
    print("Hello Geek") 

输出:

Hello Geek
Hello Geek
Hello Geek

1)在while循环中使用else语句:如上所述,while循环执行该块,直到满足条件为止。当条件变为假时,循环后立即执行该语句。

else子句仅在while条件变为false时执行。如果您跳出循环,或者引发了异常,则不会执行。

if else像这样

if condition: 
    # execute these statements 
else: 
    # execute these statements 

while循环类似

while condition: 
     # execute these statements 
else: 
     # execute these statements 
#Python program to illustrate 
# combining else with while 
count = 0
while (count < 3):     
    count = count + 1
    print("Hello Geek") 
else: 
    print("In Else Block") 

输出:

Hello Geek
Hello Geek
Hello Geek
In Else Block

2)单条语句while块:与if块一样,如果while块由一条语句组成,我们可以在一行中声明整个循环,如下所示:

# Python program to illustrate 
# Single statement while block 
count = 0
while (count == 0): print("Hello Geek") 

注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,其中条件始终为true,并且您必须强制终止编译器。

2. for in循环

for循环用于顺序遍历。例如:遍历列表,字符串或数组等。在Python中,没有C样式的循环,即for(i = 0; i <n; i ++)。有一个“ for in”循环,与其他语言中的每个循环类似。让我们学习如何使用for in循环遍历。语法:

for iterator_var in sequence:
    statements(s)

它可以用于在迭代器和范围上迭代。

# Python program to illustrate 
# Iterating over a list 
print("List Iteration") 
l = ["geeks", "for", "geeks"] 
for i in l: 
    print(i) 
       
# Iterating over a tuple (immutable) 
print("\nTuple Iteration") 
t = ("geeks", "for", "geeks") 
for i in t: 
    print(i) 
       
# Iterating over a String 
print("\nString Iteration")     
s = "Geeks"
for i in s : 
    print(i) 
       
# Iterating over dictionary 
print("\nDictionary Iteration")    
d = dict()  
d['xyz'] = 123
d['abc'] = 345
for i in d : 
    print("%s  %d" %(i, d[i])) 

输出:

List Iteration
geeks
for
geeks

Tuple Iteration
geeks
for
geeks

String Iteration
G
e
e
k
s

Dictionary Iteration
xyz  123
abc  345

3. 按序列索引进行迭代:我们还可以使用序列中元素的索引进行迭代。关键思想是首先计算列表的长度,然后在此长度范围内迭代序列。

请参见以下示例:

# Python program to illustrate 
# Iterating by index 
  
list = ["geeks", "for", "geeks"] 
for index in range(len(list)): 
    print list[index] 

输出:

geeks
for
geeks

4. 使用带有for循环的else语句

我们也可以将while循环中的else语句与for循环结合使用。但是由于for循环中没有终止执行的条件,因此else块将在for块完成执行后立即执行。

以下示例说明了如何执行此操作:

# Python program to illustrate 
# combining else with for 
  
list = ["geeks", "for", "geeks"] 
for index in range(len(list)): 
    print list[index] 
else: 
    print "Inside Else Block"

输出:

geeks
for
geeks
Inside Else Block

5. 嵌套循环

Python编程语言允许在另一个循环中使用一个循环。以下部分显示了一些示例来说明这一概念。

语法:

for iterator_var in sequence: 
    for iterator_var in sequence: 
        statements(s) 
        statements(s) 

Python编程语言中的嵌套while循环语句的语法如下:

while expression: 
    while expression:  
        statement(s) 
        statement(s) 

关于循环嵌套的最后一点是,我们可以将任何类型的循环放入任何其他类型的循环中。例如,for循环可以在while循环内,反之亦然。

# Python program to illustrate  
# nested for loops in Python 
from __future__ import print_function 
for i in range(1, 5): 
    for j in range(i): 
         print(i, end=' ') 
    print() 

输出:

1
2 2
3 3 3
4 4 4 4

6. 循环控制语句

循环控制语句从其正常顺序更改执行。当执行离开作用域时,在该作用域中创建的所有自动对象都将被销毁。Python支持以下控制语句。

1)Continue语句:将控件返回到循环的开头。

# Prints all letters except 'e' and 's' 
for letter in 'geeksforgeeks':  
    if letter == 'e' or letter == 's': 
         continue
    print 'Current Letter :', letter 
    var = 10

输出:

Current Letter : g
Current Letter : k
Current Letter : f
Current Letter : o
Current Letter : r
Current Letter : g
Current Letter : k

2)Break语句:将控制带出循环。

for letter in 'geeksforgeeks':  
  
    # break the loop as soon it sees 'e'  
    # or 's' 
    if letter == 'e' or letter == 's': 
         break
  
print 'Current Letter :', letter 

输出:

Current Letter : e

3)Pass语句:我们使用pass语句编写空循环。Pass还用于空的控制语句,函数和类。

# An empty loop 
for letter in 'geeksforgeeks': 
    pass
print 'Last Letter :', letter 

输出:

Last Letter : s

Tags:

最近发表
标签列表