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()