• day8——Python if,while,for


    Python的缩进和冒号
        Python只所以如此简单,归功于它的缩进机制,严格的缩进机制使得代码非常整齐规范,赏心悦目,提高了可读性,在一定意义上提高了可维护性。但对于从其他语言转过来的朋友如:java开发人员,c语言开发,c++开发人员来说,可能要适应一段时间,代码十分严格的缩进格式,如果不按照规矩办事,一不小心就会出现语法错误
        Python并不像其他语言那样要求什么{},仅仅使用Tab键来区分代码的逻辑性
      
    a = 19
    if a>10:
        print('aaaaa')
    print('bbbb')
     
     
    if条件判断
        Python中有很多判断的逻辑,那用什么来处理呢?当然首选就是我们的if语句,if后面跟条件进行判断,如果后面为真,才执行if后面缩进的代码,如果条件为假,就直接跳过if语句。如下图所示:
    格式:
    if 判断条件:
        执行语句......
    else:
        执行语句......
        实例:
        你可以通过不断改变a的值来打印不同的执行结果,代码如下所示:
    a = 3
    if a<= -1:
        print('a 是负数')
    elif a == 0:
        print('a 等于0')
    else:
        print('a 是正数')
     
     
    while循环(很少用这个while)
        很多情况程序可以为我们做很多重复而又同样的工作,都是通过循环来实现的,大概的逻辑图就是如下图所示:
     
    格式:
    while 判断条件:
        执行语句......
     
    解释说明:
        while在执行的时候,先看判断语句,只要为真,就执行语句,执行完语句以后,再执行判断语句,一般我们都会在判断条件这里设置一个变量,在执行语句的时候对这个变量进行操作,一直执行到判断条件为假时,退出,执行后面的代码,如果刚开始判断就为假,则直接跳过while
    实例:
    while 1:
        print('111111')
        print('222222222222')
        print('333333333333333333')
        print('444444')
     
        在while 1:这一行用快捷键Ctrl+F8打上断点,Ctrl+F9按进入Debug模式,按F8一步一步执行,
        如只执行5次:
    x = 5
    while x>0:
        print('111111')
        print('222222222222')
        print('333333333333333333')
        print('444444')
        x -=1
     
    打印结果为:
     

      开启Debug模式:首先x取值5,5是大于0的,然后打印下面的语句,接着循环 

     

        当取值为0时,x>0不成立,退出当前循环 

     
    abc = 1
    print('###########################this scripts is started###########################')
    while abc<=10:
        print('abc = %d' %abc)
        abc +=1
    print('###########################this scripts is endded###########################')
     
    解释:
        abc在执行完print('###########################this scripts is started###########################')以后,判断abc是否小于等于10,而此时abc=1是小于10的,所以打印print('abc = %d' %abc),然后继续往下执行abc +=1,此时abc的值变成了2,在跳到while abc<=10进行判断,此时abc=2<10,打印abc=2,后面的以此类推,当abc=11时,while abc<=10不符合条件,直接退出,执行print('###########################this scripts is endded###########################')
    打印结果为:
     
     
    for循环
        for循环主要在工作中用来遍历(for后面跟)列表、字符串、文件等操作,for循环默认是循环到元素完为止,for循环的格式如下:
    for iterating_var  in sequence:
        statements(s)
        流程图如下:
     
    实例:
    enumerate() 函数:
        enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
        语法:enumerate(sequence,[start=0])
    参数
        sequence -- 一个序列、迭代器或其他支持迭代对象。
        start -- 下标起始位置。
    返回值
        返回 enumerate(枚举) 对象。
     
     
    #for循环
    test = dict(a=1,b=2,c=3,d=4) #test是一个字典
    m = list('YangJinBiao124')
    print(test)
     
    for i,j in enumerate(m): #列表上用enumerate,字典上比较常用的是下面的iteritems
    print(i,j)
     
    print('@'*100)
    print(enumerate(test)) #这个值打印出来后是个对象,
    print('@'*100)
    for key1,value1 in enumerate(test):
    print(key1,value1)
     
    print('@'*100)
     
    for key2,value2 in test.iteritems(): #iteritems属性
    print(key2,value2)
     
    打印结果为:
     
     
    #打印1到100: 需要用到一个range、xrange函数及它们区别
    # print(type(xrange(1,15))) #xrange是一个对象,只有遍历的时候才打印出来,在工作中最常用的就是这个xrange。range是一次性在内存中生成的,占用很大的内存空间,用xrange是当用到的时候生成一次,取一次才生成一次,这样更节约系统内存不会一次把内存搞那么大,使代码程序效率更高
    print((xrange(1,100)))
    for i in xrange(1,100):
    print(i)
     
    这是因为代码中没有缩进导致:
     
     
    break和continue讲解
        break语句用来终止循环,即使循环条件没有False条件或者序列还没有被全部遍历完,都会停止循环语句
     
     
     
    continue语句跳出本次循环,而break跳出整个循环
    continue语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一软弱循环
     
     
    #有1到10这串数字,到3的时候执行打印一句话
    for i in xrange(1,11):
    if i ==3:
    print('Hello World')
    continue
    # break
    print('i= %d' %i)
     
    打印结果为:
     
    for i in xrange(1,11):
    print(i)
    if i ==3:
    print('Hello World')
    # continue
    break
    print('i= %d' %i)
     
    打印结果为:

     
     
     
  • 相关阅读:
    使用twisted.web实现代理服务器
    django signal 浅析
    python 中接口的实现
    浅析django的abstract,proxy, managed
    python-twisted系列(1)
    postgresql 函数demo
    django 1.5+ 权限设计浅析
    django 1.7 新特性 --- data migration
    BZOJ 3670 [Noi2014]动物园 (KMP)
    BZOJ 1029 [JSOI2007]建筑抢修 (贪心 + 优先队列)
  • 原文地址:https://www.cnblogs.com/yangjinbiao/p/7733713.html
Copyright © 2020-2023  润新知