网站备案 接入商icp备案是网站上线前
news/
2025/10/7 9:18:39/
文章来源:
网站备案 接入商,icp备案是网站上线前,九江百度公司,网站开发运营推广叫什么软件钟表是一种计时的装置#xff0c;也是计量和指示时间的精密仪器。钟表的样式千变万化#xff0c;但是用来显示时间的表盘相差无几#xff0c;大多数钟表表盘的样式由刻度#xff08;共60个#xff0c;围成圆形#xff09;、指针#xff08;时针、分针和秒针#xff09;… 钟表是一种计时的装置也是计量和指示时间的精密仪器。钟表的样式千变万化但是用来显示时间的表盘相差无几大多数钟表表盘的样式由刻度共60个围成圆形、指针时针、分针和秒针、周日期显示和日期显示组成。 图列 实现时钟模拟
使用python内置模块
# 导入包
import turtle as tl
from datetime import *1. 将画笔移动到指定的距离
def skip(step):将画笔移动到指定的距离:param step:画笔移动的长度:return:无返回值tl.penup() # 抬起画笔tl.forward(step) # 移动画笔tl.pendown() # 落下画笔2. 绘制钟表刻度
def setip_clock(radius):建立钟表的外框:param radius::return:tl.reset() # 重置turtle绘图环境到初始状态清空画布tl.pensize(7) # 设置画笔线条的粗细for i in range(60):skip(radius) # 在距离圆形为r的位置落笔if i %50: # 若能整除5则画一条短直线tl.forward(20) # 正方向画20像素skip(-radius-20) # 反方向画20像素else:tl.dot(5) #绘制一个圆心点直径为5skip(-radius)tl.right(6)3. 注册turtle形状建立名字为name的形状
def make_hand(name,length):注册turtle形状建立名字为name的形状:param name:指针名称:param length:指针长度:return:tl.reset()skip(-0.1*length)# 开始记录多边形的顶点tl.begin_poly()tl.forward(1.1*length)# 停止记录多边形的顶点并与第一个顶点相连tl.end_poly()# 返回最后记录的多边形handFormtl.get_poly()# 注册形状命名为nametl.register_shape(name,handForm)4. 程序初始化设置包括绘制三个表针日期显示和周日
def init():# 设置全局变量global secHand,minHand,hurHand,printer# 重置turtle指针向北tl.mode(logo)# 建立三个表针Turtle并初始化secHandtl.Turtle()make_hand(secHand,125) # 秒针secHand.shape(secHand)minHandtl.Turtle()make_hand(minHand,130) #分针minHand.shape(minHand)hurHandtl.Turtle()make_hand(hurHand,90) # 时针hurHand.shape(hurHand)for hand in secHand,minHand,hurHand:hand.shapesize(1,1,3) # 调整三根指针的粗细hand.speed(0) # 设置移动速度# 建立并输出文字的turtrlprintertl.Turtle()printer.hideturtle()printer.penup()5. 以指定的格式返回周日日期
def week(d):week[星期一,星期二,星期三,星期四,星期五,星期六,星期日]return week[d.weekday()]6. 以指定的格式返回日期
def day(d):return %s %d %d %(d.year,d.month,d.day)7. 实现钟表动态设置 def tick():绘制钟表的动态显示:return:# 获取本地时间使用类成员ddatetime.today()secondd.secondd.microsecond*0.000001minuted.minuted.second/60.0hourd.hourd.minute/60.0# 将画笔的方向设置为to_angle参数secHand.setheading(second*6)minHand.setheading(minute*6)hurHand.setheading(hour*30)tl.tracer(False)printer.fd(70) # 向前移动指定的距离# 根据对齐”左“”中“”右“和给的那个字体在当前龟位置写入文本printer.write(week(d),aligncenter,font(Courier,14,bold))printer.back(130)printer.write(day(d),aligncenter,font(Courier,14,bold))# 将位置和方向恢复到初始状态位置初始坐标位00# 方向初始位”standard“ 模式为right向右即东# logo 模式是up向上即北printer.home()tl.tracer(True)tl.ontimer(tick,100) # 计时器100ms后继续调用tick8. 主函数
def main():# 关闭绘画追踪可以用于加速绘画复杂图形tl.tracer(False)init()# 画表框setip_clock(200)# 开启动画tl.tracer(True)tick()# 启动时间循环开始接收鼠标的和键盘的操作tl.done()# 测试
if __name__ __main__:main()图形化界面 想了解模块的导入可看python异常的捕捉与包 想了解turtle包可看Python 常用内置库 time库、random库、turtle库 欢迎大家观看本期作品希望本期作品可以帮助大家 无论是学习还生活都是带着星星的希望的星✨大家一起加油吧
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930248.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!