python 流程控制
if-else 语句
- if语句举例:
>>> if 1<'a':
... print "chen"
...
chen
- 逻辑值(bool)用来表示:对与错,真与假,空与非空等概念。
- 逻辑值包含了两个值:
True:表示非空的量(比如string,tuple,list,set,dictionary等)
False:表示0,None,空的量 - 作用:主要用于判断语句中,用来判断
- 一个字符串是否是空得
- 一个运算结果是否为0
- 一个表达式是否可用
>>> a = "0"
>>> if a:
... print "not null"
...
not null
>>> a = 0
>>> if a:
... print "chen"
... else:
... print "ok!"
...
ok!
- else 语句可以有多个
#!/usr/bin/python
while 1:
x = int (raw_input("please input :"))
if x >= 90:
print "x >= 90"
elif x >= 80:
print "90 > x >= 80"
elif x >= 60:
print "80 > x >= 60"
else :
print "< 60"
break
逻辑运算符
- if 后面的条件语句,可以用and,or,或者not
- and表示两个条件同时成立
- or有一个成立既可以
- not条件值取反
>>> True and False
False
>>> 1 and 1 and 0
0
>>> True or 0
True
>>> True or 0 or False
True
>>> True and 0 or False
False
for 循环
>>> a = (1,3,4,78,12)
>>> for i in a:
... print i
...
1
3
4
78
12
>>> for i in "ads87":
... print i
...
a
d
s
8
7
range(i,j,步进值)
注意:
i 是起始值,包括在内
j 是终止值,不包括在内
(类似于切片)
>>> for i in range(1,4):
... print i
...
1
2
3
- 步进值演示如下:
>>> for i in range(1,10,2):
... print i
...
1
3
5
7
9
range 可以产生一个序列:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
遍历字典
>>> a = {1:11,2:22,3:33,4:44}
>>> for i in a:
... print i
...
1
2
3
4
- 可以看出来,这样遍历的只是字典的键值,那么就可以通过a[键值]的方式来访问字典。
- 其实另一种方法也可以。
>>> a.items()
[(1, 11), (2, 22), (3, 33), (4, 44)]
>>> for i in a.items():
... print i
...
(1, 11)
(2, 22)
(3, 33)
(4, 44)
>>> for key,value in a.items():
... print key
... print value
...
1
11
2
22
3
33
4
44
循环控制
- for 也可以和else 搭配~
>>> for i in range(10):
... pass
... else:
... print "end~"
...
end~
- 有什么卵用呢?
- 就是,当程序非正常执行的时候,就不会出现else中的内容。或者break跳出的时候也不会执行else中的内容
>>> import time
>>> for i in range(10):
... print i
... time.sleep(2)
... else:
... print "ok"
...
0
1
2
^CTraceback (most recent call last):
File "<stdin>", line 3, in <module>
KeyboardInterrupt
>>> for i in range(10):
... if i > 4:
... break
... else:
... print "end"
...
- break 跳出循环
- continue 结束此次循环,进入下次循环
- exit()结束整个程序
- pass 占位,相当于空语句