重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
如果能夠找到規(guī)律,可以讓代碼變得更簡(jiǎn)單。上述代碼中其實(shí)就是調(diào)用circle()函數(shù)四次,每次傳入?yún)?shù)不同而已。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)建站推出泰安免費(fèi)做網(wǎng)站回饋大家。
我們可以加入循環(huán),循環(huán)就是重復(fù)不停地做相同的事情;再找到循環(huán)變量和畫圓參數(shù)之間的規(guī)律即可。
第一個(gè)圓的半徑為50,每次按15的節(jié)奏遞減,直到繪制完半徑為5的圓。這樣就可以使用range()函數(shù),傳入如下參數(shù):range(50,0,-15)。
或者由小到大繪制,傳入這樣的參數(shù)也可以:range(5,51,15)。
還可以這樣:循環(huán)四次,循環(huán)變量i依次為0、1、2、3,再在繪制圓的過(guò)程中構(gòu)造遞減的表達(dá)式:100/2-i*15。
分析這個(gè)表達(dá)式,當(dāng)i等于0時(shí),結(jié)果為50,繪制半徑為50的圓;當(dāng)i等于1時(shí),結(jié)果為35,繪制半徑為35的圓……正好符合題目要求的參數(shù)值。
【擴(kuò)展】思考如何繪制以坐標(biāo)原點(diǎn)為中心的同心圓呢?
仔細(xì)觀察畫筆繪制圓的軌跡,可發(fā)現(xiàn):默認(rèn)小海龜從坐標(biāo)原點(diǎn)出發(fā),逆時(shí)針旋轉(zhuǎn)一圈畫圓;然后,再回到起始點(diǎn)。
所以,繪制同心圓。我們需要將畫筆向下移動(dòng)一定的距離,即改變y的坐標(biāo),x坐標(biāo)保持不變?yōu)?。參考代碼如下:
循環(huán)體內(nèi),每次需要抬筆和落筆功能。
02
案例二:繪制一個(gè)正多邊形
繪制正多邊形有這樣一個(gè)結(jié)論:用360°去除以繪制的邊數(shù),即可得到旋轉(zhuǎn)角度。
比如:正三角形的旋轉(zhuǎn)角度(360/3=120°)、正四邊形的旋轉(zhuǎn)角度(360/4=90°)、正八邊形的旋轉(zhuǎn)角度(360/8=45°)。其他以此類推。
那么,我們要繪制一個(gè)正八邊形呢?
使用循環(huán)結(jié)構(gòu),循環(huán)八次。每次前移一定距離,再旋轉(zhuǎn)(360/邊數(shù))的角度,這里旋轉(zhuǎn)的就是45°角。參考代碼如下:
有了這樣的結(jié)論,其他的正多邊形都可以信手拈來(lái),小菜一碟了。只需要稍微改幾個(gè)參數(shù)即可。
03
案例三:繪制由多種顏色組成的正螺旋線
比如,這樣的圖形:
這是由八種顏色組成的正八邊形螺旋線結(jié)構(gòu)圖,顏色依次為:紅(red)、綠(green)、藍(lán)(blue)、黃(yellow)、紫(purple)、橙(orange)、黑(black)、粉(pink)等八種。
繪制思路:
首先,需要?jiǎng)?chuàng)建一個(gè)顏色列表list,含有八種顏色元素。
第二,前移一定距離,這個(gè)距離值是由小到大逐級(jí)遞增的過(guò)程。
第三,旋轉(zhuǎn)一定角度,可參照案例二的結(jié)論。
最后,考慮畫筆的顏色,每8次(邊數(shù))為一個(gè)周期循環(huán)顏色列表。
參考代碼如下:
其他的正螺旋線,也是如此規(guī)律。
【擴(kuò)展】如果是有一定旋轉(zhuǎn)角度的螺旋線呢?比如,這樣的圖形:
解題思路:只需要在正螺旋線的基礎(chǔ)上,讓旋轉(zhuǎn)角度多偏移1-2°即可。修改上述案例中最后一行的代碼:
你好,答案如下所示。
程序縮進(jìn)如圖所示
效果如圖所示
希望你能夠詳細(xì)查看。
如果你有不會(huì)的,你可以提問(wèn)
我有時(shí)間就會(huì)幫你解答。
希望你好好學(xué)習(xí)。
每一天都過(guò)得充實(shí)。
import turtle
turtle.showturtle() #屏幕上顯示出來(lái)海龜繪圖,終端中會(huì)用到
turtle.penup() #抬起畫筆,此時(shí)畫筆的移動(dòng)不會(huì)留下痕跡
turtle.pendown() #放下畫筆,此時(shí)畫筆的移動(dòng)會(huì)留下痕跡
turtle.pensize(3) #筆粗為3
turtle.goto(-200,100) #將畫筆移動(dòng)到(-200,100)坐標(biāo)
turtle.color("red") #設(shè)定畫筆的顏色為紅色
turtle.circle(100) #以當(dāng)前畫筆所在點(diǎn)為圓最下端開始畫半徑為100的圓
turtle.circle(100,steps=n) #繪制一個(gè)周長(zhǎng)為100,的n邊形
turtle.forward(200) #將畫筆前進(jìn)200
turtle.backward(100) #將比后退100
turtle.right(70) #將畫筆箭頭的方向向右移70度
turtle.left(90) #將畫筆箭頭的方向向左移90度
turtle.stamp() #復(fù)制當(dāng)前圖形
turtle.write("hello,小朋友",font=('宋體',20,"normal")) #添加括號(hào)里的字符,font設(shè)置字符字體,大小以及作用
turtle.reste() #重置
turtle.hideturtle() #將畫筆隱藏
turtle.done() #把所繪圖顯示出來(lái),不關(guān)閉繪圖軟件
給繪制的圖形填充顏色
turtle.begin_fill()
turtle.circle(100)
turtle.color("yellow")
turtle.end_fill()
1
2
3
4
例:畫出奧運(yùn)五環(huán)
import turtle
turtle.color("blue")
turtle.circle(100)
turtle.penup()
turtle.goto(-200,0)
turtle.pendown()
turtle.color("red")
turtle.circle(100)
turtle.penup()
turtle.goto(200,0)
turtle.color("yellow")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(-100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.penup()
turtle.goto(100,-100)
turtle.color("black")
turtle.pendown()
turtle.circle(100)
turtle.done()