<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] ### 課前準確: * 在`Windows`系統里安裝`python`,參考 [安裝python](http://www.hmoore.net/k12edu/k_12/785427#Windowspython_4) ***** ### 本節課參考書目 * `Teach Your Kids to Code.pdf` 第四章:有趣的循環 ***** ### 用笨方法畫畫 例如我們畫一個花瓣。 ![](https://box.kancloud.cn/7ce310c2fb27b1ddd67984589e0b5c64_645x486.png) 笨方法如下: ``` >>> import turtle # 第1句:導入 turtle 畫圖工具 >>> t = turtle.Pen() # 第2句:打開一個畫圖板 >>> t.circle(100) # 第3句:畫一個半徑為 100 的圓圈 >>> t.left(90) # 第4句:將畫筆轉動90度 >>> t.circle(100) # 第5句:畫一個半徑為 100 的圓圈 >>> t.left(90) # 第6句:將畫筆轉動90度 >>> t.circle(100) # 第7句:畫一個半徑為 100 的圓圈 >>> t.left(90) # 第8句:將畫筆轉動90度 >>> t.circle(100) # 第9句:畫一個半徑為 100 的圓圈 >>> t.left(90) # 第10句:將畫筆轉動90度 ``` 這段代碼中,反復出現的代碼是: ``` >>> t.circle(100) >>> t.left(90) ``` ***** ### 使用“循環”畫畫 我們改一下上面的代碼: ``` >>> import turtle >>> t = turtle.Pen() >>> for x in range(4): t.circle(100) t.left(90) ``` 通過引入“循環”把代碼量從10句減少至5句,這是很可觀的進步。 解釋一下“循環”代碼的結構: 1. ` for x in range(4):` ,對于所有的`循環` 而言,這句都是類似的。 2. `range(4)` 表示一段數字范圍,從 0 開始,連續 4 個數字,就是 0 , 1, 2,3 。這里表示我們想反復執行某些代碼的數次,想執行 4次,就寫`range(4)` ,如果想執行 7次,就寫`range(7)` 。 3. 剩下的兩句代碼`t.circle(100)` 和`t.left(90)` ,是我們希望計算機反復執行的部分。 ***** ### 引入變量簡化“循環” 我們改下程序,再增加兩個花瓣: ``` >>> for x in range(6): t.circle(100) t.left(60) ``` 這里有兩個地方發生了變化,一個是`range(4)` 變成了`range(6)` , 另一個是`t.left(90)` 變成了`t.left(60)` 。變成 `range(6)` 是因為,我們要畫6個花瓣。 變成 `t.left(60)` 是因為,原先 4個花瓣的時候,花瓣之間的夾角是90度,6個花瓣的時候,花瓣之間的夾角是60度。 我們可以在程序中加一個變量`number_of_circles`,告訴計算機我們想畫幾個花瓣,這樣就不用每次修改“循環”里的`range(.)` 和`t.left(.)` 。 ``` import turtle t = turtle.Pen() number_of_circles = int(turtle.numinput("畫圈圈","你想畫幾個圓圈",6)) for x in range(number_of_circles): t.circle(100) t.left(360/number_of_circles) ``` 我們可以讓這段代碼更復雜一些: ``` import turtle t = turtle.Pen() turtle.bgcolor("black") number_of_circles = int(turtle.numinput("畫圈圈","你想畫幾個圓圈",6)) for x in range(number_of_circles): t.pencolor("red") t.circle(100) t.pencolor("yellow") t.circle(50) t.left(360/number_of_circles) ``` ***** ### 在“循環”中加入控制 有時候,我們希望在“循環”的外邊再加上一些控制語句,這些控制語句的格式是: ``` while 條件: 要執行的代碼 ``` 例如,我們希望計算機做這樣一些事情: 1. 告訴計算機一個名字; 2. 計算機把這個名字打印 100次; 3. 重復步驟1~2; 4. 如果計算機沒有再收到新的名字,就自動退出程序。 ``` # 告訴計算機一個名字 name = input("What is your name? ") # 一直打印名字,直到觸發某個條件退出 while name != "": # 打印名字100次 for x in range(100): print(name, end = " ") print() # 輸入一個新的名字, 或者按 [ENTER] 退出 name = input("輸入另外一個名字,或者按 [ENTER] 退出: ") print("Bye!") ``` ***** ### 引入空列表變量和增加變量元素 我們可以通過`while 條件:` 來控制列表變量的內容。下面這段代碼中,分別定義了一個空列表變量`family` 和一個名字變量 `name` ,并通過控制條件`while name != "":` 和`family.append(name)` 調整`family` 的內容。 ``` family = [] name = turtle.textinput("我愛我家","輸入一個名字,或者按[Enter]鍵結束:") while name != "": family.append(name) print(family) name = turtle.textinput("ok!","請輸入另外一個名字: ") ``` ***** ### 一個更完整的例子 ``` import turtle t = turtle.Pen() turtle.bgcolor("black") colors = ["red","yellow","blue","green","orange","purple","white","brown","gray","pink"] family = [] name = turtle.textinput("我愛我家","輸入一個名字,或者按[Enter]鍵結束:") while name != "": family.append(name) name = turtle.textinput("我愛我家","輸入一個名字,或者按[Enter]鍵結束:") for x in range(100): t.pencolor(colors[x%len(family)]) t.penup() t.forward(x*4) t.pendown() t.write(family[x%len(family)],font = ( "Arial",int((x+4)/4),"bold")) t.left(360/len(family)+2) ``` ***** ### 課程小結 1. 創建一個可以反復執行某些代碼的“循環” 2. `range(.)` 在“循環”中代表次數 3. `while 條件:` 可以用來控制程序 4. 創建一個列表變量,用 `append(.)` 增加變量中的元素
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看