python-day1-05-循环

Posted vc123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day1-05-循环相关的知识,希望对你有一定的参考价值。

  1. 循环就是然计算机重复的帮我们做一件事情,人都讨厌做重复枯燥无味的事情,像推磨,人觉得枯燥乏味,然后就有了驴推磨,一圈一圈的循环,人一圈一圈的推岂不累死,所以计算机也一样,当有重复的工作,跟计算机也一样,当有重复的工作,跟计算机下命令,你重复做就好了,那么python里用来下命令的这个语法就只有 while和 for两个。
  2. while循环
    1. 顾名思义,当。。。。的时候,就是说当满足条件的时候,我运行while下面的代码,反之,当不满足的时候,我们就不运行,看到这里是不是感觉和上面的 if判断是一样的?对,没错是一样的,但是while的区别在于循环,意思就是我运行完while下面的代码后,又跑到while开始这里来了,继续判断,如果为真运行下面的代码,为假则结束,然后运行完又回到判断条件这里来了,这是你也发现了,只要条件一直为真,那么他将马不停蹄的运行下去,就跟永动机一样,这就是所谓的死循环,所以我们用来判断的这个条件,不能是一个常量,判断条件需要实时变化的,不然就是一个死循环,永远也不会结束,看下伪代码:
    2. while 我是菜鸟:
          加最辛苦的班,领最低的工资。
    3. 如果我不努力学习、进取,一直是菜鸟,我就一直循环这个状态,这就是死循环。那么如何结束掉这个死循环呢,当然是努力、进取提升自己,改变这个判断条件的值,不就结束掉了么,所以我们的这个while条件需要是一个变化的值才行,不然就一直运行下去了,在python里,常用的是用一个计数器来计数,当计数达到预期的值就终止循环,看下代码。
    4. 1 i = 0         #定义一个变量,用来判断
      2 while i<=10:  #判断变量i的值是否<=10,满足条件往下走
      3     i +=1     #计数,每次循环后i自增1
      4     print(i)  #打印i,这里会打印1-11
      5 else:
      6     print(over)  #这里会正产结束,所以打印1-11后,会打印over

       

    5. while循环里的break和 continue:
      • break即破坏掉这个循环,强制结束,while循环里只要遇到break就结束,这个时候就好比驴生病了,不再循环拉磨,直接结束;
      • 1 i = 0
        2 while i<=10:
        3     i+=1
        4     if i == 5:   #当i的值等于5时,执行下面的break
        5         break    #while遇到break时,就结束掉整个循环了,所以这段代码的执行结果是1-4
        6     print(i)
        7 else:            #当上面的while循环正常结束,运行else
        8     print(over)#这里非正常结束,所以打印1-4,不打印over

         

      • continue就是结束掉本次循环,继续下一个循环,就好比磨坏了,要重新修一下,这一圈没跑完就不跑了,然后回到开始拉磨的起点,重新拉磨。代码如下:
      • 1 i = 0
        2 while i <=10:
        3     i +=1
        4     if i == 5:    #当i的值等于5时,执行下面的continue语句
        5         continue  #当while遇上continue时,就结束掉本次的循环,继续下一个循环,所以这段代码执行的结果是1-4,6-11
        6     print(i)
        7 else:             #当上面的while循环正常结束,运行else
        8     print(over) #这里会正常结束,所以打印1-4,6-11后,会打印over

         

  3. for循环
    1. for 的翻译是"为了",python这里就是说为了什么而循环,比如后面跟一个列表,为了列表里面的元素循环,循环取列表里的元素,就好比后面跟的是自己的孩子,肯定不能厚此薄彼,全部都要照顾到。
    2. for循环后面必须接一个可迭代的对象,什么是可迭代的对象呢?先把可以它想象成糖葫芦,以后自然会理解,这个迭代的对象就是一串糖葫芦,可以每次取一颗下来,这就是可迭代。for循环就是每次取一颗糖葫芦出来,直到取完为止,也就是说你有几个糖葫芦就循环几次
    3. 这样理解应该比较好理解,那么python里有哪些可迭代的对象呢?用的比较多的就只有这几种:
      1. 字符串:每次取一个字符
      2. 列表:每次取一个元素
      3. 元祖:每次取一个元素
      4. 集合:每次取一个元素
      5. 字典:每次取一个字典的key()
      6. 不可迭代:数字,小数
  4. 用for循环,比较while而言更方便,以后基本都会用for循环,因为不像while需用设置计算器,for永远也不用担心会进入死循环,它迭代完后面的可迭代对象里的值之后,就结束了,不存在死循环,所以在这点上比while好用。其他和上面的while语法差不多,代码如下
    • break语句
    • 1 for i in [a,b,c]:
      2     if i ==b:     #当i的值等于‘b‘时,执行下面的break
      3         break       #for遇到break时,就结束掉整个循环了,所以这段代码的运行结果为‘a‘
      4     print(i)
      5 else:               #当上面for循环正常结束时,运行else
      6     print(over)   #这里非正常结束,在打印‘a‘后,不打印over

       

    • continue语句
    • 1 for i in [a,b,c]:
      2     if i ==b:     #当i的值等于‘b‘时,执行下面的continue
      3         continue    #当for循环遇到continue时,当前循环结束,执行下一个循环,所以这段代码的运行结果为‘a‘‘c‘
      4     print(i)
      5 else:               #当上面for循环正常结束时,运行else
      6     print(over)   #这里正常结束,在打印‘a‘‘c‘后,打印over

       

  5. for循环记住一下几点,在后面再细讲
    • 循环list实质是根据下标循环里面的元素
    • 循环list的时候,切记不要删除list元素,不然会导致取值错乱,解决方法,用copy方法设置一个新list
    • 只要能通过下标取值的对象,都能用for循环
    • 循环文件对象的时候,实质是循环文件里的行内容
    • 循环字典的时候,实质是循环key
  6. 课后练习
    1. 综合上面的输入、条件判断和循环等知识点,来写个猜数字的小游戏,游戏规则:产生一个1-100之间的随机数字,接收用户输入,判断输入和随机的值,相等打印猜对了,游戏结束;输入值大于随机的值,提示猜大了,继续;输入值小于于随机的值,提示猜小了,继续。产生随机数,使用模块random,方法:num=random.randint(1,101),num就是一个随机数。
    2.  1 import random
       2 random = random.randint(1,101)
       3 print(random)
       4 i = 0
       5 while i <random:
       6     i+=1
       7 
       8     input_num = input(请输入数字)
       9     input_num = float(input_num)
      10 
      11     if input_num ==random:
      12         print("猜对了")
      13         break
      14     elif input_num>random:
      15         print("猜大了")
      16     else:
      17         print("猜小了")

       


以上是关于python-day1-05-循环的主要内容,如果未能解决你的问题,请参考以下文章

python-day02 while嵌套循环

python-day1,python基础知识

python-day2

python-day3 for,while

常用python日期日志获取内容循环的代码片段

python-day1作业(感谢视频老师留的作业)