日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件...

發布時間:2024/10/8 python 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面的教程中,我們已經可以讓小海龜繪制出各種圖形了。但是,所有繪圖的代碼都是預先編好的,程序一旦運行起來,運行結果(繪制的圖形)就是固定不變的。這一節中,咪博士將教大家如何讓海龜響應用戶的輸入。

1 importturtle2

3

4 defmove():5 direction = turtle.textinput('Input direction', 'Go left or right?')6

7 if direction == 'left':8 turtle.left(60)9 turtle.forward(100)10

11 if direction == 'right':12 turtle.right(60)13 turtle.forward(100)14

15

16 move()17

18

19 turtle.exitonclick()

程序運行起來之后,會先彈出一個輸入框,詢問你海龜的運動方向。你可以輸入 left 或者 right。

當你按下 ok 按鈕之后,海龜就會根據你的輸入(left 或 right),相應地向左或向右運動。

這個例子中,程序的運行結果不完全取決于事先編寫的代碼,它還和你的輸入有關。

第 5 行 direction=turtle.textinput('Input direction','Go left or right?') 彈出一個輸入框。輸入框(窗口)的標題是 Input direction,輸入框的提示文字為 Go left or right?。

當用戶完成輸入點擊 ok 按鈕時,變量 direction 將獲得用戶輸入的值。

當用戶點擊 cancel 按鈕時,變量 direction 的值為 None (None 為Python 中的關鍵字,表示什么也沒有的意思)。

第 7, 8, 9 行稱為條件語句。每個 if 語句(第 7 行)表示一個條件,它只有 2 種情況:要么成立(為真,值為 True),要么不成立(為假,值為 False)。

第 7 行 ifdirection=='left': 對應的條件是判斷變量 direction 與字符串 ‘left’ 是否相等。如果相等則執行第 8, 9 行的代碼,否則就不執行第 8, 9 行的代碼。

翻譯成大白話就像下面這樣

1 如果變量 direction 等于 left,則執行下面的語句2 turtle.left(60)3 turtle.forward(100)

所以,當用戶輸入 left,并點擊 ok 按鈕時,direction 接收到用戶的輸入 left,它的值等于 left,海龜就先向左轉 60 度(執行第 8 行代碼),再前進 100 個單位(執行第 9 行代碼)。

要注意的是 Python 中比較 2 個東西是否相等,要用 == (即 2 個連續的等號),因為單獨的 = (等號)在 Python 中表達的是將某個值賦值給某個變量的意思,因此,比較是否相等就得用另外的符號(即 ==)了。

另外,還要注意縮進,第 8, 9 行的代碼要比 if 語句所在的行(第 7 行),向右縮進一些。這樣 Python 才知道,當 if 語句為真時(即條件成立時),需要執行哪些代碼。和咪博士在前面的教程中談到的一樣,我們一般用連續的 4 個空格符號來表示一級的縮進。

第 11, 12, 13 行也是條件語句,它們和第 7, 8, 9 行代碼類似,只不過條件成立的條件改成了變量 direction 的值等于 right。

if 語句還有其他一些語法。下面,咪博士給大家展示的是 if … else 的語法。

1 importturtle2

3

4 defmove():5 direction = turtle.textinput('Input direction', 'Go left or right?')6

7 if direction == 'left':8 turtle.left(60)9 turtle.forward(100)10 else:11 turtle.right(60)12 turtle.forward(100)13

14

15 move()16

17

18 turtle.exitonclick()

將 7-12 行的代碼翻譯成大白話就像下面這樣,

1 如果變量 direction 等于 left,則執行下面的語句2 turtle.left(60)3 turtle.forward(100)4 否則,執行下面的語句5 turtle.right(60)6 turtle.forward(100)

注意體會前后 2 個版本細微的差別。考慮用戶輸入一個既不是 left 也不是 right 的字符串(或者直接點擊 cancel 按鈕)。

前一個版本中,海龜不會發生運動。因為此時, ifdirection=='left': 不成立, ifdirection=='right': 也不成立,所有的繪圖代碼都沒有機會執行。

后一個版本中,海龜會往右下方向運動。因為,后一個版本只檢查 ifdirection=='left': 是否成立。當該條件不成立時,不論變量 direction 的值是多少,它都會執行 else 對應的語句。

要實現和第 1? 個版本一樣的效果,我們可以用 if … elif 這樣的語法。

1 importturtle2

3

4 defmove():5 direction = turtle.textinput('Input direction', 'Go left or right?')6

7 if direction == 'left':8 turtle.left(60)9 turtle.forward(100)10 elif direction == 'right':11 turtle.right(60)12 turtle.forward(100)13

14

15 move()16

17

18 turtle.exitonclick()

這個版本中,程序會依次,

先檢查 ifdirection=='left': (第 7 行)的條件,如果成立則執行相應的代碼(第 8, 9 行),并忽略剩余的其他條件。如果不成立,則順次檢查下一個條件? ifdirection=='right': (第 10 行)。

類似地,如果該條件成立,則執行相應的代碼(第 11, 12 行),并忽略剩余的其他條件,否則再順次檢查下一個條件。

這樣一直重復下去,直至沒有可檢查的條件為止。

雖然,第 3 個版本和第 1 個版本,最終呈現的效果是一模一樣的,但它們的內部的執行過程,仍然有細微的差別。

第 1 個版本中,程序一定會檢查條件 ifdirection=='right': 是否成立,無論前一個條件? ifdirection=='left': 是否成立。

最后一個版本中,程序只有在前一個條件 ifdirection=='left': 不成立的時候,才會檢查條件? ifdirection=='right': 是否成立。

因此,雖然最終的效果是一樣的,但從執行效率上來看,最后一個版本要略微高效一些。

總結

以上是生活随笔為你收集整理的python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。