美文网首页
day2-python循环判断定义

day2-python循环判断定义

作者: 喵鸢 | 来源:发表于2017-08-23 17:59 被阅读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句法利用了设计模式中的迭代器模式。我们自定义类只要实现iternext函数,该类对象可以使用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'
    

    相关文章

      网友评论

          本文标题:day2-python循环判断定义

          本文链接:https://www.haomeiwen.com/subject/tgkjdxtx.html