自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
在海龜繪圖中,也可以輸入或者輸出文字,下面分別進行介紹。
1??輸出文字
輸出文字可以使用write()方法來實現,語法如下:
turtle.write(arg, move=False, align="left", font=("Arial", 8,?"normal"))
參數說明:
l??arg?:必選參數,用于指定要輸出的文字內容,該內容會輸出到當前海龜光標的所在位置。
l??move?:可選參數,用于指定是否移動畫筆到文本的右下角,默認為False(不移動)。
l??align?:可選參數,用于指定文字的對齊方式,其參數值為left(居左)、center(居中)或者right(居右)中的任意一個,默認為left。
l??font?:可選參數,用于指定字體、字號和字形,通過一個三元組(字體,字號,字形)指定。
說明:字形可設置的值為normal(?表示正常)、bold(?粗體)、italic(?斜體)、underline(?下劃線)等。
例如,在屏幕中心輸出文字“命運給予我們的不是失望之酒,而是機會之杯。”,指定字體為宋體,字號為18,字形為normal(表示正常),代碼如下:
import?turtle?#?導入海龜繪圖模塊
turtle.color('green')?#?填充顏色
turtle.up()?#?抬筆
turtle.goto(-300,50)
turtle.down()?#?落筆
turtle.write('命運給予我們的不是失望之酒,而是機會之杯。',font=('宋體',18,'normal'))
turtle.done()?#?海龜繪圖程序的結束語句(開始主循環)
運行上面的代碼,將顯示如圖15.37所示的效果。
圖15.37??在屏幕中輸出文字
從圖15.37中可以看出,輸出文字時,海龜光標并沒有移動,如果將第6行代碼修改為以下代碼:
turtle.write('命運給予我們的不是失望之酒,而是機會之杯。',True,font=('宋體',18,'normal'))
再次運行程序,將顯示如圖15.38所示的效果。
圖15.38??移動光標后的效果
2??輸入文字
在海龜繪圖中,如果想與用戶交互,獲取用戶輸入的文字,可以通過textinput()方法彈出一個輸入對話框來實現。該方法的返回值為字符串類型。textinput()方法的語法如下:
turtle.textinput(title, prompt)
參數說明:
l??title?:用于指定對話框的標題,顯示在標題欄上。
l??prompt?:用于指定對話框的提示文字,提示要輸入的信息。
l??返回值:返回輸入的字符串,如果對話框被取消則返回None。
例如,先彈出輸入對話框,要求用戶輸入一段文字,然后輸出到屏幕上,代碼如下:
import?turtle?#?導入海龜繪圖模塊
turtle.color('green')?#?填充顏色
word = turtle.textinput('溫馨提示:','請輸入要打印的文字')?#?彈出輸入對話框
turtle.write(word,True,font=('宋體',18,'italic'))?#?輸出文字
turtle.done()?#?海龜繪圖程序的結束語句(開始主循環)
運行程序,將顯示如圖15.39所示的輸入對話框,輸入文字“學無止境”并單擊OK按鈕后,在屏幕上將顯示如圖15.40所示的文字。
?????
圖?15.39??輸入對話框
圖15.40???在屏幕中輸出的效果
通過textinput()方法返回的內容為字符串,如果想要輸入數值,可以使用numinput()方法實現,該方法的返回值為浮點類型。numinput()方法的語法如下:
turtle.numinput(title, prompt, default=None, minval=None, maxval=None)
參數說明:
l??title?:必選參數,用于指定對話框的標題,顯示在標題欄上。
l??prompt?:必選參數,用于指定對話框的提示文字,提示要輸入什么信息。
l??default?:可選參數,用于指定一個默認數值。
l??minval?:可選參數,用于指定可輸入的最小數值。
l??maxval?:可選參數,用于指定可輸入的最大數值。
例如,先彈出輸入對話框,要求用戶輸入一個1~9之間的數,然后輸出到屏幕上,代碼如下:
import?turtle?#?導入海龜繪圖模塊
turtle.color('green')?#?填充顏色
#?數字輸入框
num = turtle.numinput('溫馨提示:','請輸入1~9之間的數字:',default=1, minval=1, maxval=9)
turtle.write(num,True,font=('宋體',18,'normal'))?#?輸出獲取的數字
turtle.done()?#?海龜繪圖程序的結束語句(開始主循環)
運行程序,將顯示如圖15.41所示的輸入對話框,輸入數字0,并單擊OK按鈕后,將彈出?Too small對話框,提示輸入的值不允許,請重新輸入,如圖15.42所示,單擊“確定”按鈕,關閉Too small對話框,將返回到輸入對話框,輸入7,并單擊OK按鈕后,在屏幕上將顯示數字7.0,如圖15.43所示。
???圖?15.41??輸入對話框?
圖?15.42??輸入不允許的數值時的效果?
圖15.43??繪制輸入的數值
動手試一試5
任務一:輸出逐漸變大的文字
在海龜繪圖中,默認文字是同樣大小并且一次性地輸出到屏幕上。本任務要求將一行自己喜歡的文字一個一個地進行輸出,并且逐漸變大。例如,輸出“唯有行動才能改造命運”,效果如圖15.44所示。
圖15.44??輸出逐漸變大的文字
任務二:根據用戶輸入的邊數繪制多邊形
本任務要求:通過輸入對話框讓用戶輸入一個數值作為要繪制多邊形的邊數,從而實現繪制指定邊數的多邊形。例如,用戶在彈出的數字輸入對話框中,輸入6,則繪制一個六邊形,如圖15.45所示。
圖15.45??根據用戶輸入的邊數繪制多邊形(六邊形)