当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块:
if height >= 180:
print ('fat')
如果我们想判断体重在180斤以下时,打印出 not fat,怎么办?
方法是再写一个 if:
if height < 180:
print ('not fat')
或者用 not 运算:
if not height >= 180:
print ('not fat')
上面这两种条件判断是互斥的,也就是只可能为其中某一种情况,因此,可以用一个 if ... else ... 语句把它们写到一起:
if height >= 180:
print ('fat')
else:
print ('not fat')
注意:条件判断语句的后面有个“:”,判断里面的代码使用缩进的方式表示
Python之 if-elif-else
通常情况,我们使用一个if。。。else并不能满足实际需求。比如,根据体重的划分:
条件1:180斤或以上:fat
条件2:140斤以上180斤以下:not fat
条件3:140斤以下:thin
我们可以用一个 if height >= 180 判断是否符合条件1,如果不符合,再通过一个 if 判断 height >= 140 来判断是否符合条件2,否则,执行条件3:
if height >= 180:
print ('fat')
else:
if height >= 140:
print ('not fat')
else:
print ('thin')
按照上面的方法,我们确实可以得到我们需要的结果,但是,如果判断条件的区域继续增加,比如120斤~140斤增加一个区域not thin,120斤以下为thin,这样我们需要嵌套的判断也就越来越多,代码越来越难看懂:
if height >= 180:
print ('fat')
else:
if height >= 6:
print ('not fat')
else:
if height >= 320:
print ('not thin')
else:
print ('thin')
为了有效避免多层嵌套判断结构,我们可以用 if ... elif ... else的结构,里面使用多个elif进行多次判断:
if height >= 180:
print ('fat')
elif height >= 140:
print ('not fat')
elif height >= 120:
print ('not thin')
else:
print ('thin')
特别注意:这种判断的流程是从上到下,如果前面的条件判断已经成立了,后面的条件就不会继续执行了。
Python之 for循环
我们最常用的循环,都是用在list集合和tuple中?比如 list:
list = ['Aaa', 'Bbb', 'Ccc']
print list[0]
print list[1]
print list[2]
上面list集合里面只有三个元素,我们可以直接print打印出来,可如果集合里面元素较多,或者我们并不知道list里面具体有多少个,这种方式就很鸡肋了,就不得不借用循环的方式将里面的元素迭代出来:
list = ['Aaa', 'Bbb', 'Ccc']
for name in list:
print (name)
注意:name是定义在循环中的变量,表示每次遍历集合取出来的值,都存放到name中,所以每一次循环,name里面的值都会发生改变,for元素里面需要循环的代码使用缩进。
Python之 while循环
另外一种循环方式就是while,while循环不会对集合或者tuple进行迭代,他主要通过判断一种条件是否满足,来触发一个循环的过程,除了可以会根据判断条件不满足退出之外,实际上还可以使用break
比如要从 0 开始打印不大于 number 的整数:
number = 10
x = 0
while x < number:
print(x)
x = x + 1
while循环的时候先判断 x < number,如果为真,则执行循环体的代码块,否则,退出循环。
在循环里面对x的值进行修改,只有当修改到条件判断不满足的时候,就会退出循环。
Python之 break退出循环
上面我们提到过,除了可以通过条件的不成立退出循环之外,还可以在循环内部使用break关键字退出循环。
比如计算1至100的整数和:
sum = 0
x = 1
while True:
sum = sum + x
x = x + 1
if x > 100:
break
print(sum)
当x在进行增加的时候,如果内部判断x >1,则会跳出最外面的while循环。
Python之 continue继续循环
在使用循环的时候,不管是while循环还是for循环,如果我们想跳过其中某一次循环,继续下一次的循环时,可以使用关键字continue。
假如我们需要计算list集合的平均值,并且如果数值小于60的不在计算之列:
list = [50, 90, 40, 100, 60, 40, 30, 80]
sum = 0.0
n = 0
for x in list:
if x < 60:
continue
sum = sum + x
n = n + 1
print (sum / n)