【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)
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,6,8] else  drawLine(False)
    turtle.left(90)
    drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)
def drawDate(date):  #获得要输出的数字
    for i in date:
        drawDigit(eval(i))  #注意: 通过eval()函数将数字变为整数
def main():
    turtle.setup(800, 350, 200, 200)
    turtle.penup()
    turtle.fd(-300)
    turtle.pensize(5)
    drawDate(datetime.datetime.now().strftime(‘%Y%m%d‘))
turtle.hideturtle()
main() 
#DrawSevenSegDisplay.py
import turtle, datetime
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(datetime.datetime.now().strftime(‘%Y-%m=%d+‘))
    turtle.hideturtle()
main() 
时间: 2024-08-09 00:12:38

【Python】七段数码显示管的相关文章

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

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 远程连接数据库显示can't connect to mysql server on 'lo... 解决方案

执行quit退出mysql. 由于MySQL默认支队本地使用,没有开放远程连接,于是需要到配置文件中去修改,当然新版的MySQL不知道为什么配置文件和以前不太一样了,以前都放在:/etc/mysql/my.cnf里,但是现在我们去看看变成什么样了: 运行: 1 sudo vi /etc/mysql/my.cnf 结果发现my.cnf里的内容是这样的,本人个人猜测是MySQL优化结构了,效果如图: 原来的配置文件变成了包含目录结构,于是在上面提到的两个目录里找找,很快就能找到配置文件原来是:/et

七段数码管

#七段数码管 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)

python 读取并显示图片的两种方法

在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片.本人偏爱 matpoltlib,因为它的语法更像 matlab. 一.matplotlib 1. 显示图片 import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 import numpy as np lena = mpimg.imread('lena.png')

Python Matplot中文显示完美解决方案

原因与现象 Matplot是一个功能强大的Python图表绘制库,很遗憾目前版本自带的字体库中并不支持中文字体.所以如果在绘制内容中需要显示中文,那么就会显示为方格字符. 解决办法 有一个较为完美的解决方案,通过扫描Matplot自带字体库以及系统字体库,寻找能够支持的中文字体,如果能够找到的话,就设置第一个为Matplot的字体熟悉. 代码如下: import matplotlib.pyplot as plt from matplotlib.font_manager import FontMa

Python Idle 无法显示行号(上)

在Idle main shell 中提示错误定位到具体哪一行. 可是在Python Idle 环境中是无法显示行号的,这给我们带来了很大问题 不更换IDLE 对此有如下两种解决方法: 快捷键Atl + G 可以快速定位到指定行 编辑器右下角有显示光标所在行号 更换IDLE 详细安装使用 IDLEX 环境在下篇继续谈 版权声明:本文为博主原创文章,未经博主允许不得转载.

【问题整理】php调用python脚本无显示问题

环境:windows Server2008+Apache+php+MySQL 问题:shell可以执行成功,但是php调用python就不行了 开发一个项目时需要用php调用python命令,如下:          $cmd = 'python main.py -u ';          exec($cmd,$res); 结果$res什么返回值都没有,这就尴尬了...于是排错,,apache的error_log是个好东西啊~~出现什么错误会显示到log文件中,当然,也可以在命令后写2>&