跳转至

Python控制流

概要: 在Python中有三种控制流语句:if, for 和 while

创建时间: 2022.10.02 00:05:03

更新时间: 2022.10.02 00:08:55

if语句

if语句检查条件

  1. 如果 条件为真(True),我们将运行一块语句(称作 if-block 或 if 块);
  2. 否则 我们将运行另一块语句(称作 else-block 或 else 块)。
  3. else 语句可选

示例程序块

Python
number = 23
guess = int(input('Enter an integer:'))

if guess == number:
  print('Congratulations, you guessed it.')
  print('(but you do not win any prizes!)')
elif guess < number:
  print('No, it is a little higher than that')
else:
  print('No, it is a little lower than that')
  print('Done')

警告

Python3.10 前不存在 switch 语句。通过使用 if..elif..else 语句来实现相同功能。

while语句

while语句检查条件

  1. 在条件为真的前提下重复执行某块语句;
  2. while 语句是 循环(Looping) 语句的一种;
  3. while 语句同样可以拥有 else 语句作为可选选项。

示例程序块

Python
number = 23
running = True

while running:
    guess = int(input('Enter an integer : '))

    if guess == number:
        print('Congratulations, you guessed it.')
        running = False
    elif guess < number:
        print('No, it is a little higher than that.')
    else:
        print('No, it is a little lower than that.')
else:
    print('The while loop is over.')
    print('Done')

for语句

for...in 语句

for...in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目。
示例程序块如下

Python
1
2
3
4
for i in range(1,5):
    print(i)
else:
    print('The for loop is over')

range的用法

  1. 默认情况下,range将会以 1 逐步递增,如range(1,5) 将输出序列[1, 2, 3, 4]
  2. 如果我们向range提供第三个数字,则这个数字将成为逐步递增的加数,如range(1,5,2)将会输出 [1, 3]
  3. range()每次只会生成一个数字,如果要获得完整的数字列表,需要在使用range()时调用list(),如:list(range(5)),将会输出 [0, 1, 2, 3, 4]
  4. for i in range(1,5)等价于for i in [1, 2, 3, 4],这个操作将依次将队列里的每个数字(或对象)分配给i,然后以每个i 的值执行语句块

Python中的for循环与C/C++/C#/Java的区别

Python中的for循环和C/C中的for循环可以说是完全不同:在C/C中,若编写for (int i = 0; i < 5; i++),则等价于Python中的for i in range(0,5)

break语句

break语句用以中断(Break)循环语句,也就是中止循环语句的执行,即使循环条件没有变更为 False ,或队列中的项目尚未完全迭代依旧如此。如果中断了一个forwhile循环,那么任何相应循环中的else块都将不会被执行。
示例程序块如下

Python
1
2
3
4
5
6
while True:
    s = input('Enter something:')
    if s == 'quit':
        break
    print('Length of the string is',len(s))
print('Done')

continue语句

continue语句用以告诉Python跳过当前循环块中的剩余语句,并继续该循环的下一次迭代。
示例程序块如下

Python
1
2
3
4
5
6
7
8
while True:
    s = input('Enter something:')
    if s == 'quit':
        break
    if len(s)<3:
        print('Too small')
        continue
    print('Input is of sufficient length')