zoukankan      html  css  js  c++  java
  • Python学习笔记(五)

    1.为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

      Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,如  

    friends=['liu','li','xing','wang']
    for X in friends:
        print(X)

      ----

      liu
      li
      xing
      wang

      此例假如写作  

    friends=['liu','li','xing','wang']
    for X in friends:
        print(friends)

      那么执行结果为  

      ['liu', 'li', 'xing', 'wang']
      ['liu', 'li', 'xing', 'wang']
      ['liu', 'li', 'xing', 'wang']
      ['liu', 'li', 'xing', 'wang']

      理解:for语句表达的是循环,即,根据friends里边的元素,每个元素都执行一遍。故,本例是执行了4遍print(friends)

      所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

      再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:  

    a=1
    for x in [2,3,4,5]:
        a=a+x
    print(a)

      如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:  

    print(list(range(5)))----[0, 1, 2, 3, 4]

      range(101)就可以生成0-100的整数序列,计算如下:  

    a=0
    for x in range(101):
        a=a+x
    print(a)

    2.第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:  

    n=1
    a=0
    while n<100:
        a=a+n
        n=n+2
    print(a)

      在循环内部变量a不断自加,直到变为100时,不再满足while条件,循环退出。

      利用循环依次对list中的每个名字打印出Hello, xxx!:L= ['Bart', 'Lisa', 'Adam']  

    L = ['Bart', 'Lisa', 'Adam']
    for x in L:
        print('Hello,',x,'!')

      

    a=0
    L = ['Bart', 'Lisa', 'Adam']
    while a<3:
        print('Hello,',L[a],'!')
        a=a+1

     3.在循环中,break语句可以提前退出循环。  

    n = 1
    while n <= 100:
        if n > 10: # 当n = 11时,条件满足,执行break语句
            break # break语句会结束当前循环
        print(n)
        n = n + 1
    print('END')

      执行上面的代码可以看到,打印出1~10后,紧接着打印END,程序结束。

    4.在循环过程中,也可以通过continue语句,跳过当前的这次循环,直接开始下一次循环。

      打印1~10的奇数,可以用continue语句跳过某些循环:  

    n = 0
    while n < 10:
        n = n + 1
        if n % 2 == 0: # 如果n是偶数,执行continue语句
            continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
        print(n)

      执行结果是1,3,5,7,9

    5.小结

      循环是让计算机做重复任务的有效的方法。

      break语句可以在循环过程中直接退出循环,而continue语句可以提前结束本轮循环,并直接开始下一轮循环。这两个语句通常都必须配合if语句使用。

      要特别注意,不要滥用breakcontinue语句。breakcontinue会造成代码执行逻辑分叉过多,容易出错。大多数循环并不需要用到breakcontinue语句,上面的两个例子,都可以通过改写循环条件或者修改循环逻辑,去掉breakcontinue语句。

      有些时候,如果代码写得有问题,会让程序陷入“死循环”,也就是永远循环下去。这时可以用Ctrl+C退出程序,或者强制结束Python进程。    

  • 相关阅读:
    NOIP201208同余方程
    NOIP模拟赛 最佳组合
    NOIP模拟赛 拓展
    CF1253E Antenna Coverage(DP)
    LOJ6033「雅礼集训 2017 Day2」棋盘游戏 (博弈论,二分图,匈牙利算法)
    CF582E Boolean Function(DP,状态压缩,FMT)
    CF750G New Year and Binary Tree Paths(DP)
    Codeforces Round 596 题解
    AGC008E Next or Nextnext(组合计数,神奇思路)
    ARC082E ConvexScore(神奇思路)
  • 原文地址:https://www.cnblogs.com/xinghen1216/p/9916188.html
Copyright © 2011-2022 走看看