# coding:utf-8
# 绘制七段数码管,显示当前时间
import time
import turtle as tt
# 绘制间隔
def drawGap():
tt.penup()
tt.fd(3)
# 绘制单段数码管
def drawLine(draw):
drawGap()
if(draw):
tt.pendown()
else:
tt.penup()
tt.fd(25)
drawGap()
tt.right(90)
# 绘制当前时间
def drawDate(date):
tt.pencolor("black")
for i in date:
if i == '=':
tt.write(":", font=("黑体", 25, "normal"))
tt.pencolor("black")
tt.fd(25)
elif i == '#':
tt.write(":", font=("黑体", 25, "normal"))
tt.pencolor("black")
tt.fd(25)
elif i == '$':
tt.write("", font=("黑体", 25, "normal"))
else:
drawDigit(eval(i))
# 绘制数码管
def drawDigit(cur_time):
if cur_time in [2, 3, 4, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 1, 3, 4, 5, 6, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 3, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 6, 8]:
drawLine(True)
else:
drawLine(False)
tt.left(90)
if cur_time in [0, 4, 5, 6, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 2, 3, 5, 6, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
if cur_time in [0, 1, 2, 3, 4, 7, 8, 9]:
drawLine(True)
else:
drawLine(False)
tt.left(180)
tt.penup()
tt.fd(20)
# 主函数
def main():
tt.setup(800, 400, 200, 200)
tt.penup()
tt.fd(-330)
tt.pensize(2)
drawDate(time.strftime('%H=%M#%S$', time.localtime()))
tt.hideturtle()
tt.done()
if __name__ == "__main__":
main()
如有不懂,加群讨论
使用Python的turtle库实现七段数码管绘制
七段数码管绘制:七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置.七段数码管能形成2=128种状态,其中部分状态能够显示易于人们理解的数字或字母含义.因此 ...
基于turtle库的七段数码管绘制
·文章结构 >样例及概览 >函数框架分析 >功能发展·样例及概览 七段数码管,是信号灯.电子表等很多设备的显示形式.而利用python的turtle库,我们也可以模拟着写出一个动态生 ...
python 利用turtle库绘制五角星
# -*- coding: utf-8 –*-import turtleimport math def draw_polygon(aTurtle, size=50, n=3): for i in ra ...
使用Python的turtle库实现六角形以及正方形螺旋线的绘制
1.六角形的绘制 思路:一个六角形可以看作是两个等边三角形具有共同的中心且垂线互成60°角.所以只需实现一个等边三角形的绘制以及第二个三角形绘制起点的移动即可. 代码如下: import turtle ...
Python使用turtle库与random库绘制雪花
记录Python使用turtle库与random库绘制雪花,代码非常容易理解,画着玩玩还是可以的. 完整代码如下: 效果图如下:
Python之turtle库-小猪佩奇
Python之turtle库-小猪佩奇 #!/usr/bin/env python # coding: utf-8 # Python turtle库官方文档:https://docs.python.o ...
利用 turtle库绘制简单图形
turtle库是python的基础绘图库,这个库被介绍为一个最常用的用来介绍编程知识的方法库,其主要是用于程序设计入门,是标准库之一,利用turtle可以制作很多复杂的绘图. turtle名称含义为“ ...
python使用turtle库绘制奥运五环
效果图: #奥运五环 import turtle turtle.setup(1.0,1.0) #设置窗口大小 turtle.title("奥运五环") #蓝圆 turtle.pen ...
Python:turtle库的使用及图形绘制
目录 一.绘制一个八边形 二.绘制一个八角图形 三.简述问题 四.循环程序设计 五.绘制一个自己喜欢的图形 一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle im ...
随机推荐
背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null
[源码下载] 背水一战 Windows 10 (26) - XAML: x:DeferLoadStrategy, x:Null 作者:webabcd 介绍背水一战 Windows 10 之 XAML ...
给swift程序猿留下深刻印象的10个Swift代码
通过使用单行代码完成同样的 10 个练习,我们来看看 Swift 和其他语言之间的较量. 将数组中每个元素的值乘以 2 使用map来实现 var arr = [1,2,3,4]; var newArr ...
java 泛型接口示例
/* * 泛型接口 */ interface Tool { public void show(T t); //泛型方法 public void print(E e ...
IoC实践--用Unity实现MVC5.0的IoC控制反转方法
在MVC中,控制器依赖于模型对数据进行处理,也可以说执行业务逻辑.我们可以使用依赖注入(DI)在控制层分离模型层,这边要用到Repository模式,在领域驱动设计(DDD)中,Repository翻 ...
Failed to load or instantiate
Failed to load or instantiate: add this code in your xml: xmlns:android="http://schemas.android ...
js超简单日历
用原生js写了一个超级简单的日历.当做是练习js中的Date类型. 思路: 获取某个日期,根据年份计算出每个月的天数. 利用Date中的getDay()知道该月份的第一天为星期几. 循环创建表格,显示 ...
[置顶] think in java interview-高级开发人员面试宝典(七)
上两周研发任务太紧了,所以担搁了一下,我们继续我们的面试之旅. 下面是一个基于图书系统的15道SQL问答,供大家参考 问题描述:本题用到下面三个关系表:CARD 借书卡. CNO 卡号,N ...
[UE4]射击产生弹孔:Spawn Decal At Location、Spawn Decal Attached
Spawn Decal At Location.Spawn Decal Attached 在指定的位置生成一个材质贴上去 产生随意旋转角度
Vue中methods(方法)、computed(计算属性)、watch(侦听器)的区别
1.computed和methods 共同点:computed能现实的methods也能实现: 不同点:computed是基于它的依赖进行缓存的.computed只有在它的相关依赖发生变化才会重新计算 ...
Python学习笔记之面向对象编程(三)Python类的魔术方法
python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...