Python语言程序课程记录随笔(一)

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值