Python流程控制
函数,循环,if条件,类定义等后面有block,block要缩进,因此这些语句后面要加上冒号,这是python的语法
python的冒号和java、c中的{}是一样的
block是一组语句
注:Python使用缩进作为其语句分组的方法,建议使用4个空格
#!/usr/bin/python
score = int(raw_input("Please input a num: "))
if score >= 90:
print 'A'
print 'very good'
elif score >= 80:
print 'B'
print 'good'
elif score >= 70:
print 'C'
print 'pass'
else:
print 'D'
print 'End'
条件判断
逻辑值(bool)包含了两个值:
- True:表示非空的量(比如:string,tuple,list,set,dictonary),所有非零数。
- False:表示0,None,空的量等。
elif语句:
- if expression1:
statement1(s)
elif expression2:
statement2(s)
else:
statement2(s)
if else判断例子
#!/usr/bin/pythonscore = int(raw_input("Please input a num: "))if score >= 90: print 'A' print 'very good'elif score >= 80: print 'B' print 'good'elif score >= 70: print 'C' print 'pass'else: print 'D'print 'End'raw_input输入是字符串,需要用int()函数进行转换
循环
print 相当于Linux的echo命令
print xx , 加一个逗号不会换行,默认会换行
bb=[, i i, w e
range函数 相当于Linux的seq 命令
range(start,stop,step) 倒序range(10,0,-1)
range可以快速的生成一个序列,返回是一个列表
range(I, j, [,步进值])
- 如果所创建对象为整数,可以用range
- i为初始值,不选默认为0
- j为终止值,但不包括在范围内
- 步进值默认为1.
xrange
生成一个可迭代的对象
xrange(start,stop,step)-> xrange object
a = xrange(10)
for i in xrange(10): print i
xrange只有在我们取的时候才生成值,更好的利用系统性能
print (range(1,10))
print (xrange(1,10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
xrange(1, 10)
for循环
for
else
for循环如果正常结束,才会执行else语句。
列表重写法/列表生成式
#!/usr/bin/pythonfor i in range(1,11): if i % 2 != 0: print i*2, 等价于 列表重写print [i*2 for i in range(1,11) if i % 2 != 0]
break
continue
pass:什么都不做,占位
exit():相当于shell里的exit命令,需要导入sys模块
#!/usr/bin/python
import sys
import time
for i in xrange(10):
if i == 3:
continue
elif i == 5:
continue
elif i == 6:
pass
elif i == 7:
sys.exit()
print i
else:
print 'main end'
print "hahaha"
在ipython里导入模块
In [9]: import random 随机数
In [10]: random.
random.BPF random.SystemRandom random.expovariate random.lognormvariate random.sample random.vonmisesvariate
random.LOG4 random.TWOPI random.gammavariate random.normalvariate random.seed random.weibullvariate
random.NV_MAGICCONST random.WichmannHill random.gauss random.paretovariate random.setstate
random.RECIP_BPF random.betavariate random.getrandbits random.randint random.shuffle
random.Random random.choice random.getstate random.random random.triangular
random.SG_MAGICCONST random.division random.jumpahead random.randrange random.uniform
In [10]: random.ra
random.randint random.random random.randrange
In [10]: random.randint(1,6)
Out[10]: 3
In [11]: random.randint(1,6)
Out[11]: 2
python内置函数,不需要导入模块就可以用的函数
https://docs.python.org/2/library/functions.html
Built-in Functions
abs()
all()
any()
basestring()
bin()
bool()
bytearray()
callable()
chr()
classmethod()
cmp()
compile()
complex()
delattr()
dict()
dir()
divmod()
enumerate()
eval()
execfile()
file()
filter()
float()
format()
frozenset()
getattr()
globals()
hasattr()
hash()
help()
hex()
id()
input()
int()
isinstance()
issubclass()
iter()
len()
list()
locals()
long()
map()
max()
memoryview()
min()
next()
object()
oct()
open()
ord()
pow()
print()
property()
range()
raw_input()
reduce()
reload()
repr()
reversed()
round()
set()
setattr()
slice()
sorted()
staticmethod()
str()
sum()
super()
tuple()
type()
unichr()
unicode()
vars()
xrange()
zip()
__import__()
while循环
whle循环,直到表达式变为假,才退出while循环,表达式是一个逻辑表达式,必须返回一个True或False。
语法:
while expression:
statement(s)
else
while循环如果正常结束,才会执行else语句。
while...else的语法结构是,while循环正常执行完了会执行else后面的代码
(也就是判断条件正常结束 while i <= 10:),如果没有正常执行完,即遇到了break,则不执行else后面的代码
#!/usr/bin/env python# -*- coding:utf-8 -*-#__author__="huazai""""pycharm 使用指南 Date:2016.08.12"""x =''while x != 'q': x = raw_input("Please input something, q for quit: ") if not x: break if x == 'quit': continue print 'continue'else: print 'world'