前言
还有多少人不会python的控制结构,在评论区告诉我,让我一个个点名提问。今天,就教会你python的控制结构…
分行与缩进
分行
•一条语句占用一行
•过长的语句可以占用多行,使用\或()控制换行
•[]、{}、()可以直接跨越多行,在列表、字典、元组中需要换行的时候也可以不用添加续行符- a = 1
- b = 2
- c =a +b
- income = (gross_wages
- +taxable_interest
- - ira_deduction)
复制代码

缩进
•四个英文空格
•同一代码块的语句缩进长度要相等
•源文件的第一行不需要缩进- python学习交流Q群:906715085###
- if 条件表达式:
- 执行语句
- ......
- else:
- 执行语句1
- ......
复制代码
顺序结构
•按照从上到下的顺序,一条语句一条语句的执行
◾最基本的结构
◾代码自上而下,依次执行
◾按照解决问题的顺序写出相应的语句即可

选择结构
根据判断再执行决定内容
•使用if…else…语句表示- 把冰箱门打开
- if 大象能装入:
- 把大象装冰箱
- else:
- 去找一个更大的冰箱
- 把冰箱们关上
复制代码
•通过一条或多条语句的执行结果(True或False)来决定执行的代码块
•基本形式为if…else…语句
◾if条件语句与else后均有冒号
◾语句都要在if和else语句之后的代码块要缩进
◾判断条件常用>、=、= 10000: print("I am Happy!") [/code]
双分支
•if-else语句根据判断条件真假决定执行哪个动作
◾如果判断条件为True时,则执行if语句下的代码块
◾如果判断条件为False时,执行else语句下的代码块- if salary >= 10000:
- print("I am Happy!")
复制代码

多分支
•实现更精细的条件判断
◾elif是else if 的缩写,可以有多个elif
◾elif是更精细的判断条件,并且以冒号结束
◾条件判断从上到下匹配,当满足条件时执行对应的块内语句,后续的elif和else都不再执行
◾此时要注意条件顺序- if salary >= 10000:
- print("I am Happy")
- else:
- print("I am Fine!")
复制代码
循环结构
while循环
•只要条件满足,就一直循环
◾在某条件下,循环执行某段程序,用于处理重复相同的任务
◾while语句后有冒号
◾判断条件为真时,执行代码块1,代码需要缩进
◾判断条件为假时,执行代码块2,代码应取消缩进
◾注意防止死循环产生- if salary >= 10000:
- print ("happy")
- elif salary >= 5000:
- print("ok")
- else:
- print("sad")
复制代码

for-in循环
•方法1:使用range()函数
◾for语句最后有冒号
◾循环中的语句需要缩进
◾range()函数可创建一个整数列表,一般与for循环结合使用
•for 变量名 in range(5)- range(start, end, step=1)
- range(5): 0,1,2,3,4 没有5
- range(1,5):1,2,3,4 没有5
- range(1,5,2): 1,3
复制代码
•方法2:使用序列项迭代列表对象
◾直接把序列中的每个元素迭代出来
◾for语句最后要有冒号
◾循环中的语句需要缩进
◾把每个元素代入变量x,然后执行缩进的代码块- patients = ["Alice","Bob","Cathy","Eric"]
- for index in range(len(patients)):
- print(index,patients[index])
-
- 结果:
- 0 Alice
- 1 Bob
- 2 Cathy
- 3 Eric
复制代码
•方法3:使用枚举函数迭代序列对象
- for x in sequence
- 代码块
-
- patients = {"Alice","Bob","Cathy","Eric"}
- for patient_name in patients:
- print(patient_name)
-
- 结果:
- Alice
- Bob
- Cathy
- Eric
复制代码
•enumerate()函数将序列对象转换为一个索引序列,并返回序列对象的索引和元素
◾Index为返回的索引计数(从0开始)
◾x为返回的序列元素- for index,x in enumerate(sequence):
- 代码块
复制代码
break&continue
break
•用在while和for循环中
•用于提前退出循环
•通常配合if语句使用
continue
•用于while和for循环
•跳过当前的这次循环,直接开始下一次循环
•通常配合if语句使用
不要滥用break和continue语句
•break和continue会造成代码执行逻辑分叉过多,容易出错
•大多数循环并不需要用到break和continue语句
如果代码写的有问题,会让程序陷入”死循环“,可以使用Ctrl+C退出程序,或者强制结束python进程
最后
今天的分享到这里就结束了,喜欢的记得点赞收藏,下一章见啦!!!!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |