作者:易执
来源:Python读财
Python零基础入门的第五篇文章,给大家介绍一下Python中的条件语句和循环语句。
编程时经常需要检查一系列条件,并据此决定采取什么措施。比如说,判断一个用户是男性还是女性,判断一个用户所在的年龄区间。
在Python中,if
语句让你能够检查程序的当前状态,并据此采取相应的措施(和Excel中的条件语句是类似的)。条件语句的执行过程可以图解如下(以一个判断条件为例):
Python中if
语句的一般形式如下:
if cond_1:
statement_block_1
elif cond_2:
statement_block_2
else:
statement_block_3
当cond_1
为True
时,执行statement_block_1
如果cond_1
为False
则不执行statement_block_1
,进入cond_2
的判断
如果cond_2
为True
,执行statement_block_2
,否则,执行statement_block_3
举个小例子,判断一个用户的性别,如果gender
为'male'
则打印输出'男性'
,如果gender
为'female'
则打印输出'女性'
:
In [1]: gender = 'male'
In [2]: if gender == 'male':
...: print("男性")
...:
...: elif gender == 'female':
...: print("女性")
男性
相信整个if-else
的过程并不难理解,大家可以尝试着写更复杂的条件语句。
在Python中,循环语句可以分类两大类,一类是for
循环,一类是while
循环,下面就分别介绍一下这两种循环的使用方式。
for
循环可以遍历任何序列的项目,如一个列表或者一个字符串,遍历的意思就是把其中每个元素都过一遍。假如现在有一个需求,是打印列表[1,2,3,4,5]
中的所有数字,这时便需要用到for
循环,那么该怎么实现呢?
In [3]: alist = [1,2,3,4,5]
...: for number in alist:
...: print(number)
1
2
3
4
5
为了让大家理解这过程中发生了什么,我特地制作了一个GIF,大家可以看看整个流程:
在上面的for
循环中,每一次循环从alist
中按顺序取出一个数字,并将数值赋值给number
这个变量,然后再执行for
循环内的代码,这里是print
出number
。
当然,如果你纯粹的只想跑N次循环也是可以的,可以借助range()
函数来实现。range(n)
会生成一个0
到n-1
的序列,如下所示:
In [5]: list(range(5))
Out[5]: [0, 1, 2, 3, 4]
所以,当你有一段代码需要重复N次时(下面假设打印N次'Python'
),可以这么写:
for i in range(N):
print("Python")
for
循环内可以实现的功能还有很多,就需要你结合自身的需求进行探索啦!
与for
循环遍历完一个序列不同,while
循环不断地运行(条件为True
时),直到指定的条件不满足为止(条件转为False
)。先来看看如何定义一个while
循环:
while 判断条件(condition):
执行语句(statements)
还是以一个例子来引入,现在生成一个变量a
,使用循环每次给a
加上2,直到a >= 10
,实现的代码如下:
In [6]: a = 1
...: while a < 10:
...: print(a)
...: a = a + 2
1
3
5
7
9
上述代码执行流程是这样子的:
可以看到,当a
为
1,3,5,7,9
时,
while
循环一直在执行,当
a
加到11时,
a<10
的结果为
False
,循环终止。
break
和
continue
出马了。
break
:退出循环,往下执行相关代码
continue
:返回循环的开头,判断是否继续执行循环
还是刚才的while
循环,我们做个变体,令a=5
时跳出循环
In [8]: a = 1
...: while a < 10:
...: print(a)
...: a = a + 2
...: if a == 5:
...: break
1
3
可以看到,当a=5
时,循环终止了。把上述代码中的break
再换成continue
又会发生什么呢?
In [9]: a = 1
...: while a < 10:
...: print(a)
...: a = a + 2
...: if a == 5:
...: continue
...:
1
3
5
7
9
好像和不加continue
之前的结果是一样的,这是因为,当a=5
时,执行了continue
,则循环回到了开头while a <10:
,此时a<10
返回的结果是True
,故而while
循环继续运行。break
和continue
的运行图示如下:
其实不论条件语句if-else
,还是循环语句for
和while
理解起来都不是很难,相信大家都能够轻松搞定,下面也是准备了一些练习题以巩固练手。
使用for
循环从1-100
中筛选出奇数,并打印
使用for
循环从1-100
中筛选出质数,并打印
使用while
循环从列表[1,2,3,4,1,2,1,1,1,1]
中删除所有的1
◆ ◆ ◆ ◆ ◆
长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。
管理员二维码:
猜你喜欢
● 笑死人不偿命的知乎沙雕问题排行榜● 用Python扒出B站那些“惊为天人”的阿婆主!● 互联网大佬学历&背景大揭秘,看看是你的老乡还是校友● 上万条数据撕开微博热搜的真相!● 你相信逛B站也能学编程吗?