<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Worth Waiting For

      python流程控制

      流程控制概念

      什么是流程控制?

      所謂的流程控制是計算機(jī)運(yùn)算領(lǐng)域的用語意指在程序運(yùn)行時個別的指令(或是陳述 子程序)運(yùn)行或求值的順序不論是在聲明式編程語言還是函數(shù)式編程語言都有類似的概念

      關(guān)于聲明式編程語言和函數(shù)式編程語言詳解  

      以上是官方的解釋,我們列舉一個現(xiàn)實中的實例來具體說明一下

      假如把寫程序比做走路,那我們到現(xiàn)在為止,一直走的都是直路,還沒遇到過分叉口,想象現(xiàn)實中,你遇到了分叉口,然后你決定往哪拐必然是有所動機(jī)的。你要判斷那條岔路是你真正要走的路,
      如果我們想讓程序也能處理這樣的判斷怎么辦? 很簡單,只需要在程序里預(yù)設(shè)一些條件判斷語句,滿足哪個條件,就走哪條岔路。這個過程就叫流程控制。 if...else 語句

      Python的條件和循環(huán)語句,決定了程序的控制流程,體現(xiàn)結(jié)構(gòu)的多樣性。須重要理解,if、while、for以及與它們相搭配的 else、 elif、break、continue和pass語句

      詳解

      if語句

              Python中的if子句由三部分組成:關(guān)鍵字本身、用于判斷結(jié)果真假的條件表達(dá)式以及當(dāng)表達(dá)式為真或者非零時執(zhí)行的代碼塊。if 語句的語法如下:

      if 執(zhí)行條件:
       執(zhí)行體

      if語句有三種形式:

      單分支

      if 條件:
          滿足條件后要執(zhí)行的代碼

      雙分支

      語法:
      if 條件:
          滿足條件執(zhí)行代碼
      else:
          if條件不滿足就走這段
      
      實例:
      Name = 'yefei'
      
      if Name :
          print('你好'+name)
      else:
          print('愛誰誰')

      縮進(jìn)(重點了解)

      這里必須要插入這個縮進(jìn)的知識點

      你會發(fā)現(xiàn),上面的if代碼里,每個條件的下一行都縮進(jìn)了4個空格,這是為什么呢?這就是Python的一大特色,強(qiáng)制縮進(jìn),目的是為了讓程序知道,每段代碼依賴哪個條件,如果不通過縮進(jìn)來區(qū)分,程序怎么會知道,當(dāng)你的條件成立后,去執(zhí)行哪些代碼呢?

      在其它的語言里,大多通過{}來確定代碼塊,比如C,C++,Java,Javascript都是這樣,看一個JavaScript代碼的例子

      var age = 18
      if ( age < 18){
        console.log("還未成年")
      }else{
         console.log('恭喜你,成年啦,想干什么都可以')
      }

      在有{}來區(qū)分代碼塊的情況下,縮進(jìn)的作用就只剩下讓代碼變的整潔了。

      Python是門超級簡潔的語言,發(fā)明者定是覺得用{}太丑了,所以索性直接不用它,那怎么能區(qū)分代碼塊呢?答案就是強(qiáng)制縮進(jìn)。

      Python的縮進(jìn)有以下幾個原則:

      • 頂級代碼必須頂行寫,即如果一行代碼本身不依賴于任何條件,那它必須不能進(jìn)行任何縮進(jìn)
      • 同一級別的代碼,縮進(jìn)必須一致
      • 官方建議縮進(jìn)用4個空格,當(dāng)然你也可以用2個,如果你想被人笑話的話。

      多分支

      回到流程控制上來,if...else ...可以有多個分支條件

      語法:
      if 條件:
          滿足條件執(zhí)行代碼
      elif 條件:
          上面的條件不滿足就走這個
      elif 條件:
          上面的條件不滿足就走這個
      elif 條件:
          上面的條件不滿足就走這個    
      else:
          上面所有的條件不滿足就走這段
      
      實例:
      age = 18
      
      guess = int(input(">>:"))
      
      if guess > age :
          print("猜的大了,往小里試試...")
      
      elif guess < age :
          print("猜的小了,往大里試試...")
      
      else:
          print("恭喜你,猜對了...")
      來個匹配成績的小程序吧,成績有ABCDE5個等級,與分?jǐn)?shù)的對應(yīng)關(guān)系如下
      
      A    90-100
      B    80-89
      C    60-79
      D    40-59
      E    0-39
      要求用戶輸入0-100的數(shù)字后,你能正確打印他的對應(yīng)成績
      
      
      score = int(input("輸入分?jǐn)?shù):"))
      
      if score > 100:
          print("注意,滿分100...")
      elif score >= 90:
          print("A級")
      elif score >= 80:
          print("B級")
      elif score >= 60:
          print("C級")
      elif score >= 40:
          print("D級")
      else:
          print("太笨了...E")
      練習(xí)實例

      這里有個問題,就是當(dāng)我輸入95的時候 ,它打印的結(jié)果是A,但是95 明明也大于第二個條件elif score >=80:呀, 為什么不打印B呢?這是因為代碼是從上到下依次判斷,只要滿足一個,就不會再往下走啦,這一點一定要清楚呀!

      whlie循環(huán)

      引言

      在生活中,我們遇到過循環(huán)的事情吧?比如吃飯睡覺工作,循環(huán)聽歌等等。在python程序中,循環(huán)也是存在的。那么這個循環(huán)在Python中就是流程控制語句while。
      

      while是一個條件循環(huán)語句,與if聲明相比,如果 if 后的條件為真,就會執(zhí)行一次相應(yīng)的代碼塊。而while中的代碼塊會一直循環(huán)執(zhí)行,直到循環(huán)條件不再為真。

      while:適合于循環(huán)次數(shù)是未知的。最好選擇while循環(huán).  

      (1)一般語法
             while循環(huán)的語法如下:

      while 條件:
           
          # 循環(huán)體
       
          # 如果條件為真,那么循環(huán)體則執(zhí)行
          # 如果條件為假,那么循環(huán)體不執(zhí)行

      現(xiàn)實中的實例(聽歌)

      while True:
          print('')
          print('社會搖')
          print('喜洋洋')
          print('我要這鐵棒有何用')

      while循環(huán)的執(zhí)行體會一直循環(huán)執(zhí)行,那么內(nèi)部是如何執(zhí)行的呢?

      這樣大家就能清楚的明白while到底是如何進(jìn)行循環(huán)的了,那么問題也來了:我們?nèi)绻K止這個循環(huán)如何終止呢?

      終止循環(huán)的幾種方式:

      1. 改變條件(根據(jù)上面的流程,只要改變條件,就會終止循環(huán))。
      2. 關(guān)鍵字:break。
      3. 調(diào)用系統(tǒng)命令:quit(),exit() 后面會講到,不建議大家使用。
      4. 關(guān)鍵字:continue(終止本次循環(huán))。

      利用改變條件,終止循環(huán)。給大家引入標(biāo)志位的概念。

      flag = True
      while flag:
          print('癢')
          print('社會搖')
          print('喜洋洋')
          flag = False
          print('我要這鐵棒有何用')
      count = 1
      flag = True
      while flag:
          print(count)
          count = count + 1
          if count == 101:
              flag = False
      打印1-100所有的數(shù)
      n = 100
       
      sum = 0
      counter = 1
      while counter <= n:
          sum = sum + counter
          counter += 1
       
      print("1 到 %d 之和為: %d" % (n,sum))
      
      
      執(zhí)行結(jié)果如下:
      
      1100 之和為: 5050
      計算1-100所有數(shù)的和

       

      while ... else ..

      與其它語言else 一般只與if 搭配不同,在Python 中還有個while ...else 語句

      while 后面的else 作用是指,當(dāng)while 循環(huán)正常執(zhí)行完,中間沒有被break 中止的話,就會執(zhí)行else后面的語句

      count = 0
      while count < 5:
         print (count, " 小于 5")
         count = count + 1
      else:
         print (count, " 大于或等于 5")
      執(zhí)行以上腳本,輸出結(jié)果如下:
      
      0  小于 5
      1  小于 5
      2  小于 5
      3  小于 5
      4  小于 5
      5  大于或等于 5

      for循環(huán)語句

      for循環(huán):適合于循環(huán)次數(shù)是已知的。最好選擇for循環(huán)

      它是Python中最強(qiáng)大的循環(huán)結(jié)構(gòu)。它可以遍歷序列成員,可以用在列表解析和生成器表達(dá)式中,它會自動地調(diào)用迭代器的next()方法,捕獲StopIteration異常并結(jié)束循環(huán)(所有這一切都是在內(nèi)部發(fā)生的)

      (1)一般語法
             for循環(huán)會訪問一個可迭代對象(例如序列或是迭代器)中的所有元素,,并在所有條目都處理過后結(jié)束循環(huán)。它的語法如下:

      for iter_var in iterable:
          suite_to_repeat

      每次循環(huán), iter_var迭代變量被設(shè)置為可迭代對象(序列、迭代器或者是其他支持迭代的對象)的當(dāng)前元素,提供給suite_to_repeat 語句塊使用

      (2)用于序列類型

      for循環(huán)可以迭代不同的序列對象,像字符串、 列表、以及元組。
             迭代序列有三種基本方法:
      通過序列項迭代

      >>> nameList = ['Walter', "Nicole", 'Steven', 'Henry'] 
      >>> for eachName in nameList: 
      ...  print eachName, "Lim"
      ... 
      Walter Lim 
      Nicole Lim 
      Steven Lim 
      Henry Lim 

        迭代一個列表.。每次迭代,eacgName變量都被設(shè)置為列表中特定某個元素。

      通過序列索引迭代

      >>> nameList = ['Cathy', "Terry", 'Joe', 'Heather','Lucy'] 
      >>> for nameIndex in range(len(nameList)): 
      ...  print "Liu,", nameList[nameIndex] 
      ... 
      Liu, Cathy 
      Liu, Terry 
      Liu, Joe 
      Liu, Heather 
      Liu, Lucy

       沒有迭代元素, 而是通過列表的索引迭代。但通過直接迭代序列要比索引迭代快。

      使用項和索引迭代

      >>> nameList = ['Donn', 'Shirley', 'Ben', 'Janice','David', 'Yen', 'Wendy'] 
      >>> for i, eachLee in enumerate(nameList): 
      ...  print "%d %s Lee" % (i+1, eachLee) 
      ... 
      1 Donn Lee 
      2 Shirley Lee 
      3 Ben Lee 
      4 Janice Lee 
      5 David Lee 
      6 Yen Lee 
      7 Wendy Lee 

      (3)用于迭代器類型

      用for循環(huán)訪問迭代器和訪問序列的方法差不多,迭代器并不代表循環(huán)條目的集合,迭代器對象有一個next()方法, 調(diào)用后返回下一個條目。 所有條目迭代完后, 迭代器引發(fā)一個StopIteration異常告訴程序循環(huán)結(jié)束,for語句在內(nèi)部調(diào)用next()并捕獲異常。
              使用迭代器做 for 循環(huán)的代碼與使用序列條目幾乎完全相同。事實上在大多情況下,無法分辨出迭代的是一個序列還是迭代器,因此遍歷一個迭代器時,實際上可能指的是要遍歷一個序列、迭代器或是一個支持迭代的對象(它有 next()方法)。

      (4)range()內(nèi)建函數(shù)

      內(nèi)建函數(shù)range()可以把類似foreach的for循環(huán)變成你更加熟悉的語句。
              Python提供了兩種不同的方法來調(diào)用range() ,完整語法要求提供兩個或三個整數(shù)參數(shù):range(start, end, step =1),range()會返回一個包含所有k的列表,其中start <= k < end,從start到end ,k每次遞增 ste,step不可以為零,否則將發(fā)生錯誤。

      >>> range(3, 7) 
      [3, 4, 5, 6] 
      >>> for eachVal in range(2, 19, 3): 
      ...  print "value is:", eachVal 
      ... 
      value is: 2
      value is: 5
      value is: 8
      value is: 11
      value is: 14
      value is: 17

      range() 還有兩種簡略的語法格式:range(end)和range(start, end)。 start 默認(rèn)為0, step默認(rèn)為1。

      (6)與序列相關(guān)的內(nèi)建函數(shù)

      序列相關(guān)函數(shù):sorted()、 reversed()、enumerate()和zip(),稱為“序列相關(guān)”是因為其中兩個函數(shù)(sorted() 和 zip())返回一個序列(列表),而另外兩個函數(shù)(reversed() 和 enumerate())返回迭代器(類似序列)。  

      break和continue語句 

      相關(guān)介紹

        Python中的break語句可以結(jié)束當(dāng)前循環(huán)然后跳轉(zhuǎn)到下條語句,類似C中的break。常用在當(dāng)某個外部條件被觸發(fā)(一般通過 if 語句檢查),需要立即從循環(huán)中退出時.。break 語句可以用在 whilefor 循環(huán)中。
             Python里的continue語句和其他高級語言中的傳統(tǒng)continue并沒有什么不同,它可以被用在while和for循環(huán)里。 while循環(huán)是條件
      性的,而 for 循環(huán)是迭代的,所以continue在開始下一次循環(huán)前要滿足一些先決條件,否則循環(huán)會正常結(jié)束。
             程序中當(dāng)遇到 continue 語句時, 程序會終止當(dāng)前循環(huán),并忽略剩余的語句,然后回到循環(huán)的頂端。在開始下一次迭代前,如果是條件循環(huán),我們將驗證條件表達(dá)式。如果是迭代循環(huán),將驗證是否還有元素可以迭代。只有在驗證成功的情況下,才會開始下一次迭代
      View Code

      break語句

      Python break語句,就像在C語言中,打破了最小封閉for或while循環(huán)。

      break語句用來終止循環(huán)語句,即循環(huán)條件沒有False條件或者序列還沒被完全遞歸完,也會停止執(zhí)行循環(huán)語句。

      break語句用在while和for循環(huán)中。

      如果您使用嵌套循環(huán),break語句將停止執(zhí)行最深層的循環(huán),并開始執(zhí)行下一行代碼。

      for letter in 'Python':     # 第一個實例
         if letter == 'h':
            break
         print '當(dāng)前字母 :', letter
        
      var = 10                    # 第二個實例
      while var > 0:              
         print '當(dāng)前變量值 :', var
         var = var -1
         if var == 5:   # 當(dāng)變量 var 等于 5 時退出循環(huán)
            break
       
      print "Good bye!"
      
      結(jié)果
      當(dāng)前字母 : P
      當(dāng)前字母 : y
      當(dāng)前字母 : t
      當(dāng)前變量值 : 10
      當(dāng)前變量值 : 9
      當(dāng)前變量值 : 8
      當(dāng)前變量值 : 7
      當(dāng)前變量值 : 6
      Good bye!
      實例

      continue語句

      Python continue 語句跳出本次循環(huán),而break跳出整個循環(huán)。

      continue 語句用來告訴Python跳過當(dāng)前循環(huán)的剩余語句,然后繼續(xù)進(jìn)行下一輪循環(huán)。

      continue語句用在while和for循環(huán)中。

      for letter in 'Python':     # 第一個實例
         if letter == 'h':
            continue
         print '當(dāng)前字母 :', letter
       
      var = 10                    # 第二個實例
      while var > 0:              
         var = var -1
         if var == 5:
            continue
         print '當(dāng)前變量值 :', var
      print "Good bye!"
      實例

      continue 語句是一個刪除的效果,他的存在是為了刪除滿足循環(huán)條件下的某些不需要的成分:

      #!/usr/bin/python
      # -*- coding: UTF-8 -*-
      
      var = 10
      
      while var > 0:
          var = var -1
          if var == 5 or var == 8:
              continue
          print '當(dāng)前值 :', var
      print "Good bye!"

      練習(xí)實例

      我們想只打印0-10之間的奇數(shù),可以用continue語句跳過某些循環(huán):
      
      #!/usr/bin/python
      # -*- coding: UTF-8 -*-
      
      n = 0
      while n < 10:
          n = n + 1
          if n % 2 == 0:      # 如果n是偶數(shù),執(zhí)行continue語句
              continue        # continue語句會直接繼續(xù)下一輪循環(huán),后續(xù)的print()語句不會執(zhí)行
          print(n)
      View Code

      循環(huán)嵌套

      Python 語言允許在一個循環(huán)體里面嵌入另一個循環(huán)。

      Python for 循環(huán)嵌套語法:

      for iterating_var in sequence:
         for iterating_var in sequence:
            statements(s)
         statements(s)

      Python while 循環(huán)嵌套語法:

      while expression:
         while expression:
            statement(s)
         statement(s)

      你可以在循環(huán)體內(nèi)嵌入其他的循環(huán)體,如在while循環(huán)中可以嵌入for循環(huán), 反之,你可以在for循環(huán)中嵌入while循環(huán)。

      以下實例使用了嵌套循環(huán)輸出2~100之間的素數(shù):
      #!/usr/bin/python
      # -*- coding: UTF-8 -*-
       
      i = 2
      while(i < 100):
         j = 2
         while(j <= (i/j)):
            if not(i%j): break
            j = j + 1
         if (j > i/j) : print i, " 是素數(shù)"
         i = i + 1
       
      print "Good bye!"
      
      結(jié)果
      2 是素數(shù)
      3 是素數(shù)
      5 是素數(shù)
      7 是素數(shù)
      11 是素數(shù)
      13 是素數(shù)
      17 是素數(shù)
      19 是素數(shù)
      23 是素數(shù)
      29 是素數(shù)
      31 是素數(shù)
      37 是素數(shù)
      41 是素數(shù)
      43 是素數(shù)
      47 是素數(shù)
      53 是素數(shù)
      59 是素數(shù)
      61 是素數(shù)
      67 是素數(shù)
      71 是素數(shù)
      73 是素數(shù)
      79 是素數(shù)
      83 是素數(shù)
      89 是素數(shù)
      97 是素數(shù)
      Good bye!
      實例

      結(jié)合使用了while、for、if、break以及continue,來驗證用戶輸入。用戶有三次機(jī)會來輸入正確的密碼,阻止用戶猜測密碼。
      #!/usr/bin/env python 
        
      valid = False
      count = 3
      passwdList=('abc',) 
      while count > 0 and valid == False: 
       input = raw_input("enter password:").strip() 
       # check for valid passwd 
       for eachPasswd in passwdList: 
        if input == eachPasswd: 
         valid = True
         break
        if not valid: # (or valid == 0) 
         print "invalid input"
         count -= 1
         continue
        else: 
          break
      View Code

       while和for循環(huán)的區(qū)別:

      for循環(huán)用于已經(jīng)知道循環(huán)的次數(shù)或者循環(huán)遍歷可迭代的數(shù)據(jù)類型例如:列表   字典等

      while循環(huán)用于不知道具體的循環(huán)次數(shù)的情況或者無限循環(huán)

       

      posted on 2017-07-18 20:25  WorthWaitingFor  閱讀(413)  評論(0)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 四虎国产精品久久免费精品| 狠狠躁夜夜躁人人爽天天古典| 成人片黄网站色大片免费| 亚洲另类丝袜综合网| 西西人体44www大胆无码| 国产无遮挡吃胸膜奶免费看| 午夜在线观看成人av| 国精品无码一区二区三区在线蜜臀| 91网站在线看| 四虎国产精品久久免费精品| 成人乱人伦精品小说| 蜜臀av一区二区三区精品| 99久久无码私人网站| 秦皇岛市| 国产精品一品二区三区日韩| 一区二区和激情视频| 人妻人人澡人人添人人爽| 国产成人精品无缓存在线播放| 丰满少妇高潮无套内谢| 动漫av网站免费观看| 视频区 国产 图片区 小说区| 黑人欧美一级在线视频| 精品国产中文字幕在线| 国产成人无码一区二区三区在线| 色综合色综合综合综合综合| 欧美一本大道香蕉综合视频| 色偷偷亚洲女人天堂观看| 少妇久久久被弄到高潮| 在线成人| 婷婷色香五月综合缴缴情香蕉| 成人3D动漫一区二区三区| 最新精品露脸国产在线| 国产人与禽zoz0性伦多活几年| 色狠狠色噜噜AV一区| 国产自拍一区二区三区在线| 男女性杂交内射女bbwxz| 欧美一区二区三区性视频| 99久久精品费精品国产一区二 | 香蕉EEWW99国产精选免费| 久久精品国产www456c0m| 国产福利精品一区二区|