Python語言程序課程記錄隨筆(一)
一、溫度轉換(攝氏度\華氏度)
import turtle #引入烏龜描繪函數庫
def drawSnake(rad,angle,len,neckrad): #繪製蛇的函數(每次轉動圓的半徑,每次轉換的角度,擺動的次數,
for i in range(len): #循環len次
turtle.circle(rad,angle) #以半徑rad逆時針轉動angle角度
turtle.circle(-rad,angle) #以半徑rad順時針轉動angle角度
turtle.circle(rad,angle/2) #讓烏龜的方向調整爲水平
turtle.fd(rad) #讓烏龜向前移動rad距離
turtle.circle(neckrad+1,180) #讓烏龜向後轉頭
turtle.fd(rad*2/3) #最後再向前移動
def main():
turtle.setup(1300,800,0,0) #確定圖形窗口的大小和窗口出現在顯示屏上的位置
pythonsize=30
turtle.pensize(pythonsize) #將畫筆的粗細設置爲30
turtle.pencolor("blue") #設置畫筆的顏色爲blue
turtle.seth(-40) #將烏龜的方向設置爲-40度
drawSnake(40,80,5,pythonsize/2) #調用drawSnake函數
main() #執行main函數
二、使用turtle庫畫樹的(遞歸調用)
from turtle import Turtle #引入turtle庫
def tree(plist,l,a,f):
'''參數解釋:
plist:存放下一層樹枝的父元素
l:每一次前進的長度
a:下一次前進需要轉的角度
f:下一層的枝長與上一層枝長的比值
'''
if l>5: #這個遞歸的基例就是l<=5
lst=[] #存放子樹枝的父元素的列表
for p in plist: #根據列表中父元素的個數來爲樹枝分多少叉
p.forward(l)
q=p.clone() #複製出一個樹幹
p.left(a) #原樹幹左轉
q.right(a) #複製樹幹右轉
lst.append(p) #將原樹幹元素添加到lst列表
lst.append(q) #將複製樹幹元素也添加到lst列表
tree(lst,l*f,a,f) #遞歸調用tree(下一層長度比上一層長度短)
def maketree(x,y): #畫出一顆完整的樹並確定樹的位置
p=Turtle()
p.color("green")
p.pensize(5)
p.hideturtle() #隱藏烏龜圖標
p.speed(6) #設置烏龜的速度(0.5-10範圍外的爲0速度最快)
p.left(90) #將方向轉爲垂直方向
p.penup() #提起畫筆
p.goto(x,y) #移動畫筆到指定位置
p.pendown() #放下畫筆
t=tree([p],100,65,0.634) #調用畫樹函數
print(len(p.getscreen().turtles()))
def main():
#三顆不同位置的樹
maketree(-200,-200)
maketree(0,0)
maketree(200,-200)
main()