Python的判断与循环
今天主要介绍一下Python中的if判断与循环控制。
本来之前写的标题名字是“Python的流程控制”,但是想了想,流程控制又不仅限于条件判断和循环的控制。所以老实改了…aha
一、if 条件判断
1、语法形式
if 的条件判断语法形式如下所示。根据各分支的条件判断来决定对应的执行操作。
if <条件判断-1>:
<操作-1>
elif <条件判断-2>:
<操作-2>
elif <条件判断-3>:
<操作-3>
else:
<操作-4>
- if分支:若 <条件判断-1> 判断为真,则转入执行 <操作-1>,否则转入elif语句处;
- elif:即“else if”的缩写。elif语句可以存在,也可以存在一个或多个。当进入该分支时,若判断 <条件判断-2> 为真,则执行 <操作-2>,否则转入下一个elif语句或者else语句。
- else:当以上所有if和elif分支走完后,如果均判断为false,则最后进入else分支,执行<操作-4>。
例如:value = x if x<y else y
2、一种特殊形式
if判断还有一种特殊形式。如下所示。
其根据判断x的值来决定是否执行。其中,当x为非零数值、非空字符串、非空list等时,就判断为True,则转入执行<actions>,否则不执行。
if x :
<actions>
二、for 循环
之前在介绍数据类型时,有介绍到这部分,所以简单做个总结吧!
如下:
for x in 可迭代序列:
<actions>
- 该循环语句,x作为临时变量,依次把可迭代对象(string、list、tuple等)中的每个元素迭代出来。
举个简单的例子,当list数据类型x中存在不同类型的元素时,如何读取打印出各元素?
the_count = [1,2,3,4,5] # %d
fruits = ['apples','oranges','pears','apricots'] # %s
change = [1,'pennies',2,'dimes',3,'quarters'] # mixed list:%r
for number in the_count:
print("this is count %d " % number)
for fruit in fruits:
print("a fruit of type : %s " % fruit)
# mixed lists : notice we have to use %r since we don't know what's in it
for i in change: # %r
print("i got %r " % i)
【补充】知识点啊~ ~ ~ 其实是自己突然想起的 ^_^
- enumerate()
将序列的索引和值取出。直接上例子说明吧~
>>> l = ['a','b','c']
>>> for ind ,val in enumerate(l):
print("%d %s" %(ind,val))
...
0 a
1 b
2 c
- sorted( )
形式:sorted([序列],key=函数,reverse=True or False)
解析:接收一个序列,对其进行排序。也可以根据指定的key形式进行排序。参数reverse为方向排序,True时生效。
例如:
# 对list进行排序。
>>> sorted([36,5,-12,9,-21])
[-21, -12, 5, 9, 36]
# 高阶函数
# 可以接收一个key函数来实现自定义的排序,例如,按照绝对值大小排序:
>>> sorted([36,5,-12,9,-21],key=abs)
[5, 9, -12, -21, 36]
# 对字符串进行排序,默认情况下是按照首字母的ASCII的大小进行排序。
>>> sorted( ['bob','about','Zoo','Credit'] )
['Credit', 'Zoo', 'about', 'bob']
# 忽略大小写的排序:(全部换成小写)
>>> sorted( ['bob','about','Zoo','Credit'] ,key=str.lower)
['about', 'bob', 'Credit', 'Zoo']
# 忽略大小写,且进行方向排序:
>>> sorted( ['bob','about','Zoo','Credit'] ,key=str.lower,reverse= True)
['Zoo', 'Credit', 'bob', 'about']
三、while 循环
- 语法形式:
while <expression>:
<actions>
- 解析:只要条件<expression>满足,就不断的执行循环体<actions>,直到条件不满足时,就退出循环。
例如:
i = 0
numbers = []
while i < 6 :
print("at the top i is %d " % i)
numbers.append(i)
i = i + 1
print("numbers now : ",numbers)
print("at the bottom i is %d " %i)
# 当i=6时 退出循环
print("the numbers: ")
四、break
break关键字,其作用是提前退出当层循环。
例如:
while x<10 :
if <判断-1>: #例如 x==3
break
x + = 1
- 当<判断-1>为真时,执行break语句,退出循环。
五、continue
continue关键字,其作用是在循环过程中,可以通过continue语句,立即跳过此次循环,回到循环的顶端,直接开始下一次的循环。
例如:
while x<10 :
if <判断-1>: #例如 x==3
break
print(x)
x + = 1