第4章 判断与循环
判断和循环是我们控制程序运行的常用手段。在大多数编程语言中,判断通常用if语句
,循环通常用while或for语句
。在Python中,通过if语句
来判断一系列条件的状态,并据此决定采取什么行动。而循环语句
则是计算机自动完成重复工作的常见方式之一。在本章中,你将学习到if、while、for语句
的简单使用和一些相关代码的示例。
4.2 循环语句
在实际的业务场景中,我们经常需要批量处理业务数据。在Python语言中,我们通常将批量的数据存储在列表中。然后通过for或while语句
来循环处理列表中的所有数据。比如:对图书馆中某一个书架上的所有图书贴上相同的分类标签,方便学生根据分类检索图书。我们可以定义一个变量bookList
来存储这个书架上的所有图书,然后通过for循环来给每一本书贴上相同的分类标签。下面是简单的示例代码:
In [1]: bookList = ["thinking in Java", "rpa in python", "mathematies for Computer", "robotFrameWork in Python"]
In [2]: tag = "IT_TECH_BOOK"
In [3]: for book in bookList:
...: print(tag + ": " + book)
...:
IT_TECH_BOOK: thinking in Java
IT_TECH_BOOK: rpa in python
IT_TECH_BOOK: mathematies for Computer
IT_TECH_BOOK: robotFrameWork in Python
4.2.1 for语句
for循环中,对于用于存储列表中每个只的临时变量,可以自定义任何名称。但是通常选择可以描述列表中单个元素的有意义的英文名称。比如上面示例中的变量book
就是对列表bookList
中单个元素图书的描述。当然你也可以将图书定义为x或其他英文字母,程序运行的结果将没有任何变化,但是代码的可阅读性将会降低。在实际的开发工作中,通常都是一个团队一起开发的,当同事需要阅读你的代码时,代码的可读性就会显得非常重要了。
- for语句中执行更多操作,如下代码示例:
In [1]: bookList = ["thinking in Java", "rpa in python", "mathematies for Computer", "robotFrameWork in Python"]
In [2]: tag = "IT_TECH_BOOK"
In [3]: for book in bookList:
...: print(tag + ": " + book)
...: print("我想要这本书: " + book)
...: print("他也想要这本书: " + book)
...:
IT_TECH_BOOK: thinking in Java
我想要这本书: thinking in Java
他也想要这本书: thinking in Java
IT_TECH_BOOK: rpa in python
我想要这本书: rpa in python
他也想要这本书: rpa in python
IT_TECH_BOOK: mathematies for Computer
我想要这本书: mathematies for Computer
他也想要这本书: mathematies for Computer
IT_TECH_BOOK: robotFrameWork in Python
我想要这本书: robotFrameWork in Python
他也想要这本书: robotFrameWork in Python
In [1]: bookList = ["thinking in Java", "rpa in python", "mathematies for Computer", "robotFrameWork in Python"]
In [2]: tag = "IT_TECH_BOOK"
In [3]: for book in bookList:
...: print(tag + ": " + book)
...: print("我想要这本书: " + book)
...: print("他也想要这本书: " + book)
...:
IT_TECH_BOOK: thinking in Java
我想要这本书: thinking in Java
IT_TECH_BOOK: rpa in python
我想要这本书: rpa in python
IT_TECH_BOOK: mathematies for Computer
我想要这本书: mathematies for Computer
IT_TECH_BOOK: robotFrameWork in Python
我想要这本书: robotFrameWork in Python
他也想要这本书: robotFrameWork in Python
4.2.2 while语句
上面本节开始的示例,我们也可以用while语句来循环处理,也是一样的效果。代码示例如下:
In [1]: bookList = ["thinking in Java", "rpa in python", "mathematies for Computer", "robotFrameWork in Python"]
In [2]: tag = "IT_TECH_BOOK"
In [4]: num = 0
In [5]: while (num < len(bookList)) :
...: print(tag + ": " + bookList[num])
...: num += 1
...:
IT_TECH_BOOK: thinking in Java
IT_TECH_BOOK: rpa in python
IT_TECH_BOOK: mathematies for Computer
IT_TECH_BOOK: robotFrameWork in Python
4.2.3 range()函数
range()函数是Python语言中自带的函数,它可以帮你很快的生成一系列数字。
- range()函数的简单示例,比如:
In [17]: for i in range(10):
...: print(i)
...:
0
1
2
3
4
5
6
7
8
9
In [18]: for i in range(1,10):
...: print(i)
...:
1
2
3
4
5
6
7
8
9
- range()函数的其他示例,比如:使用 range()函数 还可以指定步长(默认步长是1)。
In [19]: for i in range(1,10,2):
...: print(i)
...:
1
3
5
7
9
range()函数的用法,读者朋友如果感兴趣的话,也可以自行查看Python官网range()函数的详细介绍。
4.2.4 Break
不管是for循环语句还是while循环语句,如果我们想在某一个元素或条件出现时,及时退出循环该怎么操作呢?在Python语言中,我们可以使用break语句来退出整个for或while循环语句。break语句可以控制程序执行流程,使用它可以决定哪些语句被执行,哪些语句不被执行,从而达到让程序按我们的要求执行的目的。来看一个简单的例子:
In [20]: for i in range(10) :
...: if i >= 5 :
...: break
...: print(i)
...:
0
1
2
3
4
用while语句实现上面for循环相同的场景。代码如下:
In [21]: i = 0
In [22]: while i < 10 :
...: if i >= 5 :
...: break
...: print(i)
...: i += 1
...:
0
1
2
3
4
4.2.5 Continue
在实际的业务场景中,我们除了退出整个循环之外,还可能需要在满足指定条件时,返回到循环开头并根据相关条件决定是否继续执行循环操作。在Python语言中,我们可以使用continue语句来控制。当满足某个条件时,使用continue语句,会返回到循环开头,而不是像break语句那样退出整个循环。举一个简单的示例:
In [23]: for i in range(10) :
...: if (i >= 6 and i < 8) :
...: continue
...: print(i)
...:
0
1
2
3
4
5
8
9
用while语句实现上面for循环相同的场景。代码如下:
In [24]: i = 0
In [25]: while i < 10 :
...: i += 1
...: if (i >= 6 and i < 8) :
...: continue
...: print(i)
...:
1
2
3
4
5
8
9
10