Python编程语言提供了以下类型的循环来处理循环需求。Python提供了三种执行循环的方式。尽管所有方式都提供相似的基本功能,但是它们的语法和条件检查时间有所不同。
1. While循环
在python中,while循环用于重复执行语句块,直到满足给定条件为止。 并且当条件变为假时,将立即执行程序中循环之后的行。
语法:
while expression: statement(s)
所有缩进相同数量字符空间的语句都被视为单个代码块的一部分。Python使用缩进作为其对语句进行分组的方法。
示例:
# Python program to illustrate # while loop count = 0while (count < 3): count = count + 1 print("Hello Geek")
输出:
Hello GeekHello GeekHello 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 = 0while (count < 3): count = count + 1 print("Hello Geek") else: print("In Else Block")
输出:
Hello GeekHello GeekHello GeekIn Else Block
2)单条语句while块:与if块一样,如果while块由一条语句组成,我们可以在一行中声明整个循环,如下所示:
# Python program to illustrate # Single statement while block count = 0while (count == 0): print("Hello Geek")
注意:建议不要使用这种类型的循环,因为它是一个永无止境的无限循环,其中条件始终为true,并且您必须强制终止编译器。
2. for in循环
for循环用于顺序遍历。例如:遍历列表,字符串或数组等。在Python中,没有C样式的循环,即for(i = 0; i
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("Tuple Iteration") t = ("geeks", "for", "geeks") for i in t: print(i) # Iterating over a String print("String Iteration") s = "Geeks"for i in s : print(i) # Iterating over dictionary print("Dictionary Iteration") d = dict() d['xyz'] = 123d['abc'] = 345for i in d : print("%s %d" %(i, d[i]))
输出:
List IterationgeeksforgeeksTuple IterationgeeksforgeeksString IterationGeeksDictionary Iterationxyz 123abc 345
3. 按序列索引进行迭代:我们还可以使用序列中元素的索引进行迭代。关键思想是首先计算列表的长度,然后在此长度范围内迭代序列。
请参见以下示例:
# Python program to illustrate # Iterating by index list = ["geeks", "for", "geeks"] for index in range(len(list)): print list[index]
输出:
geeksforgeeks
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"
输出:
geeksforgeeksInside 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()
输出:
12 23 3 34 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 : gCurrent Letter : kCurrent Letter : fCurrent Letter : oCurrent Letter : rCurrent Letter : gCurrent 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': passprint 'Last Letter :', letter
输出:
Last Letter : s