【人生苦短,我学 Python】基础篇——条件判断与循环语句(Day12)

举报
AI 菌 发表于 2021/08/05 00:20:10 2021/08/05
【摘要】 写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~ 我的博客地址为:【AI 菌】的博客 我的Github项目地址是:【AI 菌】的Github -> 前往【人生苦短,我...

写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与记录。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github

-> 前往【人生苦短,我学 Python】总目录 <-


条件判断 循环语句

一、条件判断

(1) if-elif-else

if语句是判断语句的基础。if语句的基本形式如下:

if case1:
	block1
elif case2:
	block2
else:
	block3

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果复合语句是单一语句,可以将前面的语句写在同一行。其基本形式如下:

if case1:block1
elif case2:block2
elif case3:block3
else:block4

  
 
  • 1
  • 2
  • 3
  • 4

注:这条原则也适用于for循环和while循环语句。

(2) if 嵌套

在嵌套 if 语句中,可以把 if…elif…else 结构放在主 if…elif…else 结构中。基本结构如下:

if case1:
	if case1.1:
		block1
	elif case1.2:
		block2
	else:
		block3
elif case2:
	block4
else:
	block5

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

(3) 条件表达式

如果判断条件结构简单,还可使用条件表达式,即三元操作符。基本形式如下:

# 如果condition为true,返回X,否则Y
X if condition else Y  

  
 
  • 1
  • 2

下面举一个简单的例子,演示一下三元操作符:

# 输出a,b中较大的值
a,b = 6,8
c = a if a>b else b
print("a,b中较大的是:", c)

  
 
  • 1
  • 2
  • 3
  • 4

运行结果:

a,b中较大的是: 8

  
 
  • 1

二、循环结构

(1) while 循环

while语句也是循环语句中的基础语句。while语句的基本形式如下:

while condition:
	repeat_block

  
 
  • 1
  • 2

while循环里的程序块repeat_block会一直循环执行下去,直到condition值为假。

在while、for语句之后,也可以有else语句。 当 condition 为假时,跳出循环,执行else里的程序块。 while-else语句的基本形式如下:

while condition:
	repeat_block
else:
	once_block

  
 
  • 1
  • 2
  • 3
  • 4

注:如果循环内是break语句终止循环,则不进入else语句块。

(2) for 循环

for语句为迭代而生,它是循环语句中的基础语句。for语的基本形式如下:

for iter_var in iterable:
	repeat_block

  
 
  • 1
  • 2

每次循环,迭代变量(iter_var)被设置为可迭代对象(iterable)的当前元素,提供给repeat_block语句块使用。其中,iterable可以是序列,迭代器或其他支持迭代的对象

下面举例来演示3种不同的迭代方式:

1、直接迭代nameList中的元素。

nameList = ["张三", "李四", "王二麻子"]
for name in nameList:
	print(name)

  
 
  • 1
  • 2
  • 3

运行结果:

张三
李四
王二麻子

  
 
  • 1
  • 2
  • 3

2、通过nameList元素下标迭代,在生成range对象时,使用len。

nameList = ["张三", "李四", "王二麻子"]
for i in range(0, len(nameList)):
	print(nameList[i])

  
 
  • 1
  • 2
  • 3

运行结果:

张三
李四
王二麻子

  
 
  • 1
  • 2
  • 3

3、使用enumerate生成迭代器,并在for循环中完成对list下标和元素值的访问。

nameList = ["张三", "李四", "王二麻子"]
for i, name in enumerate(nameList):
	print(i, name)

  
 
  • 1
  • 2
  • 3

运行结果:

0 张三
1 李四
2 王二麻子

  
 
  • 1
  • 2
  • 3

三、break与continue的区别

break与continue经常用于while以及for循环中,用于中断程序,但两者有本质的区别:

  • break 语句直接跳出当前 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
  • continue 语句被用来跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

下图以while循环为例,展示了使用break以及continue时,程序不同的执行顺序:
在这里插入图片描述
由此可见,在循环体中使用break,会直接跳出循环,如图中红线所示;使用contiune时,会结束当前循环,继续执行下轮循环,如图中绿线所示。


-> 回到【人生苦短,我学 Python】总目录 <-

在这里插入图片描述
由于水平有限,博客中难免会有一些错误,有纰漏之处恳请各位大佬不吝赐教!

文章来源: ai-wx.blog.csdn.net,作者:AI 菌,版权归原作者所有,如需转载,请联系作者。

原文链接:ai-wx.blog.csdn.net/article/details/113763409

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。