Python 小白零基础入门 -- 条件语句和循环语句
点击上方 "Python 读数", 选择 "星标" 公众号
重磅干货, 第一时间送达
Python 零基础入门的第五篇文章, 给大家介绍一下 Python 中的条件语句和循环语句.
条件语句
编程时经常需要检查一系列条件, 并据此决定采取什么措施. 比如说, 判断一个用户是男性还是女性, 判断一个用户所在的年龄区间.
在 Python 中, if 语句让你能够检查程序的当前状态, 并据此采取相应的措施(和 Excel 中的条件语句是类似的). 条件语句的执行过程可以图解如下(以一个判断条件为例):
Python 中 if 语句的一般形式如下:ifcond_1:
statement_block_1
elifcond_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]:ifgender=='male':
...:print("男性")
...:
...:elifgender=='female':
...:print("女性")
男性
相信整个 if-else 的过程并不难理解, 大家可以尝试着写更复杂的条件语句.
循环语句
在 Python 中, 循环语句可以分类两大类, 一类是 for 循环, 一类是 while 循环, 下面就分别介绍一下这两种循环的使用方式.
for 循环
for 循环可以遍历任何序列的项目, 如一个列表或者一个字符串, 遍历的意思就是把其中每个元素都过一遍. 假如现在有一个需求, 是打印列表 [1,2,3,4,5] 中的所有数字, 这时便需要用到 for 循环, 那么该怎么实现呢?In[3]:alist=[1,2,3,4,5]
...:fornumberinalist:
...: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'), 可以这么写:foriinrange(N):
print("Python")
for 循环内可以实现的功能还有很多, 就需要你结合自身的需求进行探索啦!
while 循环
与 for 循环遍历完一个序列不同, while 循环不断地运行(条件为 True 时), 直到指定的条件不满足为止(条件转为 False). 先来看看如何定义一个 while 循环:
while 判断条件(condition):
执行语句(statements)
还是以一个例子来引入, 现在生成一个变量 a, 使用循环每次给 a 加上 2, 直到 a>= 10, 实现的代码如下:In[6]:a=1
...:whilea<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
...:whilea<10:
...:print(a)
...:a=a+2
...:ifa==5:
...:break
1
3
可以看到, 当 a=5 时, 循环终止了. 把上述代码中的 break 再换成 continue 又会发生什么呢?In[9]:a=1
...:whilea<10:
...:print(a)
...:a=a+2
...:ifa==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 读数
一个记录成长的公众号
原创不易, 如果觉得有点用, 希望可以随手转发或者 "在看" , 拜谢各位老铁.
来源: http://www.bubuko.com/infodetail-3664775.html