turtle库基本命令

1、turtle.setup()函数:用于启动一个图形窗口,它有四个参数turtle.setup(width, height, startx, starty)分别是:启动窗口的宽度和高度表示窗口启动时,窗口左上角在屏幕中的坐标位置。 

2、turtle.pensize()函数:表示小乌龟运动轨迹的宽度。

3、turtle.pencolor()函数:表示小乌龟运动轨迹的颜色。它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”) 

4、turtle.seth(angle)函数:表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。 

5、turtle.circle()函数:让小乌龟沿着一个圆形爬行,参数rad描述圆形轨迹半径的位置,这个半径在小乌龟运行的左侧,rad远位置处。如果 rad为负值,则半径在小乌龟运行的右侧, 参数angle表示小乌龟沿着圆形爬行的弧度值。 

6、turtle.fd()函数:表示乌龟向前直线爬行移动表示小乌龟向前直线爬行移动,它有一个参数表示爬行的距离

datetime模块函数

1.datetime.date:表示日期的类,返回year-month-day

2.datetime.datetime:表示日期时间的类,返回年月日,时分秒

3.datetime.time:表示时间的类,

4.datetime.timedelta:表示时间间隔,即两个时间点的间隔

5.datetime.tzinfo:时区的相关信息

程序代码

 1from turtle import *  
2from datetime import *  
3
4def Skip(step):  
5    penup()  
6    forward(step)  
7    pendown()  
8
9def mkHand(name, length):  
10    #注册Turtle形状,建立表针Turtle  
11    reset()  #清空当前窗口,并重置位置等信息为默认值  
12    Skip(-length*0.1)  
13    begin_poly()  
14    forward(length*1.1)  
15    end_poly()  
16    handForm = get_poly()  
17    register_shape(name, handForm)   
18
19def Init():  
20    global secHand, minHand, hurHand, printer  
21    mode("logo")# 重置Turtle指向北  
22    #建立三个表针Turtle并初始化  
23    mkHand("secHand"135)  
24    mkHand("minHand",  110)  
25    mkHand("hurHand"90)  
26    secHand = Turtle()  
27    secHand.shape("secHand")  
28    minHand = Turtle()  
29    minHand.shape("minHand")  
30    hurHand = Turtle()  
31    hurHand.shape("hurHand")  
32    for hand in secHand, minHand, hurHand:  
33        hand.shapesize(113)  
34        hand.speed(0)  
35    #建立输出文字Turtle  
36    printer = Turtle()  
37    printer.hideturtle()  
38    printer.penup()  
39
40def SetupClock(radius):  
41    #建立表的外框  
42    reset()  
43    pensize(7)  
44    for i in range(60):  
45        Skip(radius)  
46        if i % 5 == 0:  
47            forward(20)  
48            Skip(-radius-20)  
49        else:  
50            dot(5)  
51            Skip(-radius)  
52        right(6)  
53
54def Week(t):      
55    week = ["星期一""星期二""星期三",  
56            "星期四""星期五""星期六""星期日"]  
57    return week[t.weekday()]  
58
59def Date(t):  
60    y = t.year  
61    m = t.month  
62    d = t.day  
63    return "%s %d %d" % (y, m, d)  
64
65def Tick():  
66    #绘制表针的动态显示  
67    t = datetime.today()  
68    second = t.second + t.microsecond*0.000001  
69    minute = t.minute + second/60.0  
70    hour = t.hour + minute/60.0  
71    secHand.setheading(6*second) #设置朝向,每秒转动6度  
72    minHand.setheading(6*minute)  
73    hurHand.setheading(30*hour)  
74
75    tracer(False)  #不显示绘制的过程,直接显示绘制结果  
76    printer.forward(50)  
77    printer.write(Week(t), align="center",  
78                  font=("Courier"12"bold"))  
79    printer.forward(20)  
80    printer.write(Date(t), align="center",  
81                  font=("Courier"14"bold"))  
82    printer.forward(120)  
83    printer.write("python练手项目实战", align="center",  
84                  font=("Courier"14"bold"))  
85    printer.home()  
86    tracer(True)  
87
88    ontimer(Tick, 1000)#1000ms后继续调用tick  
89
90def main():  
91    tracer(False#使多个绘制对象同时显示  
92    Init()  
93    SetupClock(160)  
94    tracer(True)  
95    Tick()  
96    mainloop()  
97
98if __name__ == "__main__":         
99    main() 

效果图

python绘制动态时钟_java