七段数码管

#七段数码管
import turtle, time
def drawGap(): #绘制数码管间隔
    turtle.penup()
    turtle.fd(5)
def drawLine(draw):   #绘制单段数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)
def drawDigit(d): #根据数字绘制七段数码管
    drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,6,8] else drawLine(False)
    turtle.left(90)
    drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def drawDate(date):
    turtle.pencolor("red")
    for i in date:
        if i == ‘-‘:
            turtle.write(‘年‘,font=("Arial", 18, "normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i == ‘=‘:
            turtle.write(‘月‘,font=("Arial", 18, "normal"))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i == ‘+‘:
            turtle.write(‘日‘,font=("Arial", 18, "normal"))
        else:
            drawDigit(eval(i))
def main():
    turtle.setup(800, 350, 200, 200)
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
#    drawDate(‘2018-10=10+‘)
    drawDate(time.strftime(‘%Y-%m=%d+‘,time.gmtime()))
    turtle.hideturtle()
    turtle.done()

main()

原文地址:https://www.cnblogs.com/mouzaisi/p/12177837.html

时间: 2024-08-09 00:12:42

七段数码管的相关文章

【Python】七段数码显示管

#DrawSevenSegDisplay.py import turtle, datetime def drawLine(draw): #绘制单段数码管 turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90) def drawDigit(digit): #根据数字绘制七段数码管 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False

Python入门基础:七段数码管绘制

1.在学习Python的过程中,运用所学的一些基础知识,进行一些简单的编程,可以收获很多乐趣.在生活中,LED灯无处不在,荧幕显示的广告词,给我们呈现出动态的视觉效果.下面,则以最简单的显示日期为例,绘制七段数码管. 2.何为七段数码管 数码管是一种价格便宜.使用简单的电子器件,广泛应用于价格较低的电子类产品中,其中,七段数码管最为常用.七段数码管(Seven-segment Indicator)由七段数码管拼接而成,每段有亮或不亮的两种情况,且包括一个小数点的位置. 3.在绘制数码管的显示动态

python(10)---七段数码管(2)

今天根据网上的教程修改了七段数码管的程序,引入了time库函数,这样程序可以 根据系统的时间画出七段数码管了.废话不多说了,直接上程序: 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 #Segement7_2.py 4 import turtle,time 5 def drawGap(): 6 turtle.penup() 7 turtle.fd(5) 8 def drawline(draw): 9 drawGap() 10 turtl

python-函数和代码复用—七段数码管绘制和爱心

import turtledef curvemove(): for i in range(200): turtle.right(1) turtle.forward(1)def drawGap(): turtle.penup() turtle.fd(5)def drawLine(draw): drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40) drawGap() turtle.right(90)def drawD

数码管的使用方法

数码管是嵌入式开发中比较常用的一个模块,本篇文章根据本人近期查阅的资料以及学习笔记整理成文,尽可能详尽的讲解常用数码管原理和使用方法.有不足和疏忽的地方,请不吝指正. 目录 1.工作 原理 2.电气特性 3.驱动方式 4.开发实例 5.亮度和锁存器 6.使用中注意事项 一.工作原理 数码管 是一种半导体发光器件,其基本单元是发光二极管.能显示4位数字的叫四位数码管,当然也有多位和只有一位的数码管,他们的电气原理相同.数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单

单片机与控制实验(1)——数码管显示

一.实验目的和要求 初步学习和掌握MCS-51的体系结构和汇编语言,了解Keil编程环境和程序下载工具的使用方法.了解数码管输出的原理及编程方式. 二.实验设备 单片机测控实验系统 STC-ISP程序下载工具 Keil开发环境 三.实验内容 使用MCS-51汇编语言编写程序,完成如下功能: 1. 使用三个数码管显示十进制数值(001~999,可任意设置): 2. 每隔1秒,该数值自动减一,直到归零; 3. 归零后的下一秒,显示一个新的十进制数值(001~999,可任意设置): 4. 每隔1秒,新

Python绘制数码管显示当前时间

利用Python中的turtle图形库绘制七段数码管,显示当前时间 代码 # coding:utf-8 # 绘制七段数码管,显示当前时间 import time import turtle as tt # 绘制间隔 def drawGap(): tt.penup() tt.fd(5) # 绘制单段数码管 def drawLine(draw): drawGap() if(draw): tt.pendown() else: tt.penup() tt.fd(50) drawGap() tt.righ

LCD1602液晶显示模块深入详解之软件篇(AVR)

LCD1602液晶显示模块的驱动虽然比七段数码管之类的显示要复杂一些,但实际上也并不是很难,最主要的还是初始化,为什么这么说呢?我们在调试一块新液晶屏的时候,都会先初始化看看有没有光标在闪,没有光标前是一番努力(PROTEUS上也是这么做的),光标出来之后就相对很容易了. 那初始化的流程是怎么样的呢?我们还是看看HD44780的数据手册吧,如下图所示: 可以看到,初始化的主要步骤如下: (1)上电:这特么也算是一个步骤么?是的!如果你用的是其它液晶模块,比如LCD12864,会发现有一个复位引脚

初识DE2-115开发板

原文地址:http://www.cnblogs.com/qingwosuoyou/archive/2012/08/01/2618985.html DE2-115的资源非常丰富,包括 1. 核心的FPGA芯片-Cyclone IV 4CE115F29,从名称可以看出,它包含有115千个LE.Altera下载控制芯片- EPCS64以及USB-Blaster对Jtag和as模式的支持. 2.存储用的芯片有: 2-Mbyte SRAM,64-Mbyte SDRAM,8-Mbyte Flash memo