鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 手机系统开发 > J2ME > >

循环结构--for while

来源:互联网 作者:佚名 时间:2015-09-25 05:45
1、while while进行 循环 控制,它对表达式进行测试,如果为真,则 循环 执行 循环 体。格式如下: while EXPRESSION: STATEMENTelse: STATEMENT 如果测试为假,则会执行else块。如果 循环 被中断(break),则else块不会执行 点击( 此处 )折叠或打开 #coding

1、while


  • while进行循环控制,它对表达式进行测试,如果为真,则循环执行循环体。格式如下:

    while EXPRESSION:
              STATEMENT
    else:
              STATEMENT
    

    如果测试为假,则会执行else块。如果循环被中断(break),则else块不会执行


点击(此处)折叠或打开

  1. #coding:utf-8
  2. #!/usr/bin/python
  3. # Filename: string.py

  4. i=10
  5. while i>0:
  6.     i=i-1
  7.     print i
  8. else:
  9.     print "i 已经为0了 i=",i
  10.     
  11. j=10
  12. while j>0:
  13.     j=j/2
  14.     if j==2:
  15.         break
  16.     print "j=",j
  17. else:
  18.     print "已经break了,这句不执行"

  19. 9
  20. 8
  21. 7
  22. 6
  23. 5
  24. 4
  25. 3
  26. 2
  27. 1
  28. 0
  29. i 已经为0了 i= 0
  30. j= 5



2、for


  • for循环可遍历对象,并可进行迭代操作。语名格式如下:

    for TARGET in OBJECTS:
           STATEMENT
    else:
           STATEMENT
    

    和while一样,在循环正常退出时,会执行else块。



点击(此处)折叠或打开

  1. #coding:utf-8
  2. #!/usr/bin/python
  3. # Filename: for.py

  4. mystr="statment"
  5. for word in mystr:
  6.     print word
  7. else:
  8.     print "End list"
  9. #range会直接生成一个list对象
  10. alist=range(0,100)
  11. for i in alist:
  12.     if i==99:
  13.         print i
  14. #而xrange则不会直接生成一个list,而是每次调用返回其中的一个值
  15. for j in xrange(0,100,2):
  16.     if j==99:
  17.         print j
  18. print "alist 的长度: ",len(alist)
  19. for k in xrange(len(alist),-1,-1):
  20.     if k==0 or k==100:
  21.         print "k:",k
  22.     
  23.     
  24. s
  25. t
  26. a
  27. t
  28. m
  29. e
  30. n
  31. t
  32. End list
  33. 99
  34. alist 的长度: 100
  35. k: 100
  36. k: 0

注意:

要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间,这两个基本上都是在循环的时候用:

  1. for i in range(0100): 
  2. print i 
  3. for i in xrange(0100): 
  4. print i
range会直接生成一个list对象:

  1. a = range(0,100
  2. print type(a)
  1. <type 'list'>
而xrange则不会直接生成一个list,而是每次调用返回其中的一个值:

  1. a = xrange(0,100
  2. print type(a
  1. <type 'xrange'
所以xrange做循环的性能比range好,尤其是返回很大的时候,尽量用xrange吧,除非你是要返回一个列表。




















网友评论
<