python和循环语句_Python 小白零基础入门 -- 条件语句和循环语句

Python 小白零基础入门 -- 条件语句和循环语句

点击上方 "Python 读数", 选择 "星标" 公众号

重磅干货, 第一时间送达

Python 零基础入门的第五篇文章, 给大家介绍一下 Python 中的条件语句和循环语句.

条件语句

编程时经常需要检查一系列条件, 并据此决定采取什么措施. 比如说, 判断一个用户是男性还是女性, 判断一个用户所在的年龄区间.

在 Python 中, if 语句让你能够检查程序的当前状态, 并据此采取相应的措施(和 Excel 中的条件语句是类似的). 条件语句的执行过程可以图解如下(以一个判断条件为例):

ab7653affab982b574eb7acc55df2e04.gif

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, 大家可以看看整个流程:

ab7653affab982b574eb7acc55df2e04.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

上述代码执行流程是这样子的:

ab7653affab982b574eb7acc55df2e04.gif

可以看到, 当 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 的运行图示如下:

ab7653affab982b574eb7acc55df2e04.gif

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)

关注我

ab7653affab982b574eb7acc55df2e04.gif

1529321439513643.jpg

公众号: Python 读数

一个记录成长的公众号

原创不易, 如果觉得有点用, 希望可以随手转发或者 "在看" , 拜谢各位老铁.

来源: http://www.bubuko.com/infodetail-3664775.html

你可能感兴趣的:(python和循环语句)