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_1True时,执行statement_block_1

  • 如果cond_1False则不执行statement_block_1,进入cond_2的判断

  • 如果cond_2True,执行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循环内的代码,这里是printnumber

当然,如果你纯粹的只想跑N次循环也是可以的,可以借助range()函数来实现。range(n)会生成一个0n-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

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

可以看到,当 a1,3,5,7,9 时, while 循环一直在执行,当 a 加到11时, a<10 的结果为 False ,循环终止。

有的小伙伴可能会问,如果在执行循环的过程中,让程序实现达到某个条件时中断该怎么操作,这时便需要关键字 breakcontinue 出马了。

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循环继续运行。breakcontinue的运行图示如下:

break.png

其实不论条件语句if-else,还是循环语句forwhile理解起来都不是很难,相信大家都能够轻松搞定,下面也是准备了一些练习题以巩固练手。

练习题

  1. 使用for循环从1-100中筛选出奇数,并打印

  2. 使用for循环从1-100中筛选出质数,并打印

  3. 使用while循环从列表[1,2,3,4,1,2,1,1,1,1]中删除所有的1

◆ ◆ ◆  ◆ ◆

长按二维码关注我们
数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:


猜你喜欢
● 笑死人不偿命的知乎沙雕问题排行榜● 用Python扒出B站那些“惊为天人”的阿婆主!● 互联网大佬学历&背景大揭秘,看看是你的老乡还是校友● 上万条数据撕开微博热搜的真相!● 你相信逛B站也能学编程吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值