📜  Python for循环

📅  最后修改于: 2020-10-24 08:56:43             🧑  作者: Mango

Python for循环

Python的for循环用于多次迭代语句或程序的一部分。它经常用于遍历列表,元组或字典之类的数据结构。

Python中for循环的语法如下。

for iterating_var in sequence:  
    statement(s)  

for循环流程图

For循环使用序列

示例1:使用for循环迭代字符串

str = "Python"
for i in str:
    print(i)

输出:

P
y
t
h
o
n

例2:程序print给定编号的表。

list = [1,2,3,4,5,6,7,8,9,10]
n = 5
for i in list:
    c = n*i
    print(c)

输出:

5
10
15
20
25
30
35
40
45
50s

示例4:程序print给定列表的总和。

list = [10,30,23,43,65,12]
sum = 0
for i in list:
    sum = sum+i
print("The sum is:",sum)

输出:

The sum is: 183

对于循环,使用range()函数

range()函数

range()函数用于生成数字序列。如果我们通过range(10),它将生成0到9之间的数字。range()函数的语法如下所示。

句法:

range(start,stop,step size)
  • 开始代表迭代的开始。
  • stop表示循环将迭代直到stop-1。 range(1,5)将生成数字1到4的迭代。它是可选的。
  • 步长用于跳过迭代中的特定数字。它是可选的。默认情况下,步长为1。这是可选的。

请考虑以下示例:

示例1:程序按顺序print数字。

for i in range(10):
    print(i,end = ' ')

输出:

0 1 2 3 4 5 6 7 8 9 

示例-2:程序print给定编号的表。

n = int(input("Enter the number "))
for i in range(1,11):
    c = n*i
    print(n,"*",i,"=",c)

输出:

Enter the number 10
10 * 1 = 10
10 * 2 = 20
10 * 3 = 30
10 * 4 = 40
10 * 5 = 50
10 * 6 = 60
10 * 7 = 70
10 * 8 = 80
10 * 9 = 90
10 * 10 = 100

示例3:程序使用range()中的步长print偶数。

n = int(input("Enter the number "))
for i in range(2,n,2):
    print(i)

输出:

Enter the number 20
2
4
6
8
10
12
14
16
18

我们还可以将range()函数与数字序列一起使用。 len()函数与range()函数结合在一起,后者使用索引在序列中进行迭代。考虑以下示例。

list = ['Peter','Joseph','Ricky','Devansh']
for i in range(len(list)):
    print("Hello",list[i])

输出:

Hello Peter
Hello Joseph
Hello Ricky
Hello Devansh

嵌套在Python的for循环

Python允许我们在for循环内嵌套任意数量的for循环。对于外循环的每次迭代,内循环执行n次。语法如下。

句法

for iterating_var1 in sequence:  #outer loop
    for iterating_var2 in sequence:  #inner loop
        #block of statements   
#Other statements  

示例-1:嵌套循环

# User input for number of rows
rows = int(input("Enter the rows:"))
# Outer loop will print number of rows
for i in range(0,rows+1):
# Inner loop will print number of Astrisk
    for j in range(i):
        print("*",end = '')
    print()

输出:

Enter the rows:5
*
**
***
****
*****

示例2:对金字塔进行编号的程序。

rows = int(input("Enter the rows"))
for i in range(0,rows+1):
    for j in range(i):
        print(i,end = '')
    print()

输出:

1
22
333
4444
55555

在for循环中使用else语句

与其他语言(例如C,C++或Java)不同, Python允许我们将else语句与for循环一起使用,只有在所有迭代都用完后才能执行。在这里,我们必须注意,如果循环包含任何break语句,则else语句将不会执行。

例子1

for i in range(0,5):  
    print(i)  
else:
    print("for loop completely exhausted, since there is no break.")

输出:

0
1
2
3
4
for loop completely exhausted, since there is no break.

因为没有中断,所以for循环已完全耗尽。

例子2

for i in range(0,5):  
    print(i)  
    break;  
else:print("for loop is exhausted");  
print("The loop is broken due to break statement...came out of the loop")  

在上面的示例中,循环由于break语句而中断;因此,else语句将不会执行。紧邻else块的当前语句将被执行。

输出:

0

循环由于break语句而中断…退出循环。在下一个教程中,我们将了解有关break语句的更多信息。