crossin的编程教室吧 关注:3,840贴子:3,760

【Python 第12课】 for循环

只看楼主收藏回复


大家对while循环已经有点熟悉了吧?今天我们来讲另一种循环语句:
for ... in ...


IP属地:江苏1楼2013-06-09 17:23回复

    同while一样,for循环可以用来重复做一件事情。在某些场景下,它比while更好用。
    比如之前的一道习题:输出1到100(回复903可看详细内容)。
    我们用while来做,需要有一个值来记录已经做了多少次,还需要在while后面判断是不是到了100。
    如果用for循环,则可以这么写:
    for i in range(1, 101):
     print i
    解释一下,range(1, 101)表示从1开始,到101为止(不包括101),取其中所有的整数。for i in range(1, 101)就是说,把这些数,依次赋值给变量i。相当于一个一个循环过去,第一次i = 1,第二次i = 2,……,直到i = 100。当i = 101时跳出循环。所以,当你需要一个循环10次的循环,你就只需要写:
    for i in range(1, 11)
    或者
    for i in range(0, 10)
    区别在于前者i是从1到10,后者i是从0到9。当然,你也可以不用i这个变量名。
    比如一个循环n次的循环:
    for count in range(0, n)


    IP属地:江苏2楼2013-06-09 17:28
    收起回复

      for循环的本质是对一个序列中的元素进行递归。什么是序列,以后再说。先记住这个最简单的形式:
      for i in range(a, b)
      从a循环至b-1
      现在,你可以用for循环来改写习题903,904,905,906了。
      #==== Crossin的编程教室 ====#
      微信ID:crossincode
      QQ群:312723402
      面向零基础初学者的编程课
      每天5分钟,轻松学编程


      IP属地:江苏通过百度相册上传3楼2013-06-09 17:29
      收起回复
        for i in range(1, 101) 这一句 和 for(i=1,i<101,++i) 的意义是相同的吧?Python好简便啊…


        IP属地:北京来自手机贴吧4楼2013-06-22 03:41
        收起回复

          奇怪,906输入斐波纳契数列这个为嘛需要用的是n-1?之前一直偷懒么得改,今儿改了下还有点问题。。。一开始我写的还是n+1。。。


          5楼2013-07-02 16:19
          收起回复

            么么哒~


            6楼2013-07-12 15:39
            回复
              903


              IP属地:江苏7楼2013-07-15 16:36
              收起回复
                904

                第一遍忘了写i=101
                无限循环 5050……


                IP属地:江苏8楼2013-07-19 13:19
                收起回复
                  905



                  IP属地:江苏9楼2013-07-19 13:47
                  收起回复
                    905


                    这次就对了 从1开始输出 没有用while


                    IP属地:江苏10楼2013-07-19 15:02
                    回复(3)
                      906


                      IP属地:江苏11楼2013-07-19 15:40
                      收起回复


                        IP属地:山西12楼2013-12-20 12:17
                        回复
                          n=input()
                          x=3
                          a1=1
                          a2=1
                          print a1
                          print a2
                          while x<=n:
                          a3=a1+a2
                          print a3
                          a1=a2
                          a2=a3
                          x+=1
                          答案里X是初始运算次数,x从3往n上循环


                          IP属地:浙江13楼2014-03-30 10:55
                          回复
                            904
                            num=0
                            for i in range(1,101):
                            num=num+i
                            print num
                            被楼上写while的误导了好久,根本可以不用while嘛= =


                            IP属地:上海15楼2014-05-16 16:13
                            回复
                              906
                              print 'How many number do you want to see?'
                              n=input()
                              a=1
                              b=1
                              print a
                              print b
                              for i in range(1,n-1):
                              c=a+b
                              print c
                              b=a
                              a=c


                              IP属地:上海16楼2014-05-16 19:16
                              回复