Python小白零基础入门 —— 条件语句和循环语句
点击上方“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 循环
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循环内可以实现的功能还有很多,就需要你结合自身的需求进行探索啦!
while循环
与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
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的运行图示如下:
break.png
其实不论条件语句if-else,还是循环语句for和while理解起来都不是很难,相信大家都能够轻松搞定,下面也是准备了一些练习题以巩固练手。
练习题
1.使用for循环从1-100中筛选出奇数,并打印
2.使用for循环从1-100中筛选出质数,并打印
3.使用while循环从列表[1,2,3,4,1,2,1,1,1,1]中删除所有的1
往期精彩回顾
Python小白零基础入门 —— 变量及简单的数据类型
Python小白零基础入门 —— 列表和元组
Python小白零基础入门 —— 字典
Python小白零基础入门 —— 集合(set)
关注我
1529321439513643.jpg
公众号:Python读数
一个记录成长的公众号
原创不易,如果觉得有点用,希望可以随手转发或者 ”在看“ ,拜谢各位老铁。