day2-python循环判断定义
2017-08-23 本文已影响15人
喵鸢
Part3:循环
while循环
- 基本使用
- 实例
- 注意点
- 高级主题
#输出0~10
number = 0
while number < 10:
print number
number += 1
======= RESTART: C:/Users/Administrator/Desktop/work/python/1.py =======
0
1
2
3
4
5
6
7
8
9
高级主题
- 小于(<)
- 大于 (>)
- 不大于 (<=)
- 不大于 (>=)
- 等于 (==)
- 不等于 (!=)
小结
- 1.python中使用的循环句法:for和while,类似于C,C++中
-
注意点
:当循环条件一直满足时,无法跳出循环,出现
死循环eg: while(1)
-
- 2.while后面可以使用算式,可以使用数字(int float)必须是返回值True或者False的值--Boolean数据操作
- 3.while后面语句是None类型,直接返回false
- 4.while后面可使用list、tuple、dict、set等,但是集合中的元素数量为0,返回false
a = range(5)
while a:
print a[-1]
a = a[:len(a)-1] #将a集合减少一个元素再赋值给a集合,直到a中无元素,循环停止
======= RESTART: C:/Users/Administrator/Desktop/work/python/2.py =======
4
3
2
1
0
>>>
for循环
- 基本使用
- 实例
- 注意点
- 高级主题
基本使用
for item in sequence:
expressions
+ item:元素
+ sequence:可遍历的集合
example_list = {'dxw',18,'girl',160.0}
for i in example_list:
print(i)
print('inner of for')
print('outer of for')
======= RESTART: C:\Users\Administrator\Desktop\work\python\2.py =======
dxw
inner of for
160.0
inner of for
18
inner of for
girl
inner of for
outer of for
进阶
- range函数:返回一个序列
- range(start起始值, stop结束值):相当于左闭右开区间
- range(stop):相当于从0开始
- range(start, stop, step阶长):阶长是两个值的差值,默认是1
for i in range(0,13,3):
print(i)
for a in range(5):
print(a)
======= RESTART: C:\Users\Administrator\Desktop\work\python\2.py =======
0
3
6
9
12
0
1
2
3
高级主题
- 内置集合:每个对象都可以进行迭代
- list列表:最常用,有序,按位移存储
- tuple元祖:特殊的列表,不能更新数据,只读的列表
- dict字典:键值对,无序,最灵活的内置数据结构
- set集合:会去除重复元素,无序
#列表--最常用,有序,按位移存储
list = ['dxw',18,160.0,'girl','120g']#有中文变成ASCII
infoList = [520,'wxf']
print list
print list[0]
print list[2:4]
print list[3:]
print infoList * 2 #输出两次
print list + infoList #合并
print '-------------------'
#元祖:特殊的列表,不能更新数据,只读的列表
tuple = ('dxw',18,160.0,'girl','120g')
infoTuple = (520,'wxf')
print tuple
print tuple[0]
print tuple[2:4]
print tuple[3:]
print infoTuple * 3
print tuple + infoTuple
print '-------------------'
#字典:键值对,无序,最灵活的内置数据结构
dict = {} #一个空的字典
dict['name'] = 'Wang Xu Feng Frog'
dict['sex'] = 'Frog'
infoDict = {'name':'Dxw','sex':'girl','height':160.0}
print dict['name']
print dict['sex']
print infoDict
print infoDict.keys()
print infoDict.values()
迭代器
- python中for句法利用了设计模式中的迭代器模式。我们自定义类只要实现iter和next函数,该类对象可以使用for语句
# define a Fib class
class Fib(object):
def __init__(self, max):
self.max = max
self.n, self.a, self.b = 0, 0, 1
def __iter__(self):
return self
def __next__(self):
if self.n < self.max:
r = self.b
self.a, self.b = self.b, self.a + self.b
self.n = self.n + 1
return r
raise StopIteration()
# using Fib object斐波那契数列
for i in Fib(5):
print(i)
- yield:语句每次 执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用
def fib(max):
a, b = 0, 1
while max:
r = b
a, b = b, a+b
max -= 1
yield r
# using generator
for i in fib(5):
print(i)
Part4:判断
if判断
- 基本使用
- 实例
if condition:
expressions(condition为True则执行)
x=4
y=2
z=3
if x>y:
print 'x is more than y'
else:
print 'x is less or equal to y'
print '---------------'
var1,var2= True,False
var = var1 if var1!=var2 else var2
print var
print '---------------'
if x>1:
print 'x>1'
elif x<1:
print 'x<1'
else:
print 'x=1'
print 'finish'