#Python语言程序设计Demo - 七段数码管绘制
Python设计七段数码管绘制
单个数码管效果:

设计总数码管效果:

Pyhton 编程:
#七段数码管绘制
import turtle as t
import time as T
def drawGap(): #绘制数码管的间隔
t.penup()
t.fd(5)
def drawLine(draw): #绘制单段数码管,draw为True时,则实画
drawGap();
t.pendown() if draw else t.penup()
t.fd(40)
drawGap();
t.right(90)
def drawDigit(digit): #根据数字绘制七段数码管:如下七段: 1,2,3,4,5,6,7
drawLine(True) if digit not in [0,1,7] else drawLine(False) #
drawLine(True) if digit not in [2 ] else drawLine(False) #
drawLine(True) if digit not in [1,4,7] else drawLine(False) #
drawLine(True) if digit not in [1,3,4,5,7,9] else drawLine(False) #
t.left(90)
drawLine(True) if digit not in [1,2,3,7] else drawLine(False) #
drawLine(True) if digit not in [4,1] else drawLine(False) #
drawLine(True) if digit not in [5,6] else drawLine(False) #
t.left(180);t.penup();
t.fd(10) #换个位置输出下一个字符,间隔
def drawDate(s):
t.pencolor('red')
for i in s:
if i=='-':
t.write('年',font=('Arial',18,'normal'))
t.pencolor('green')
t.fd(30)
elif i=='=':
t.write('月',font=('Arial',18,'normal'))
t.pencolor('blue')
t.fd(30)
elif i=='+':
t.write('日', font=('Arial', 18, 'normal'))
t.fd(30)
else:
drawDigit(eval(i)) #通过eval()把字符转换成单个数字
def main():
t.setup(800,400)
t.penup()
t.fd(-300) #将起点挪到画布的左边
t.pensize(6)
drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
# drawDate('0123456789')
t.hideturtle() #隐藏画笔的形状
t.done()
main()
1、先测试各位数字是否正常显示:
在main()中设置下列代码:
# drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
drawDate('0123456789')
显示结果:

说明没有问题!
2、具体在main()中再略加修改:
drawDate(T.strftime('%Y-%m=%d+',T.gmtime()))
#drawDate('0123456789')
显示结果:

#Python语言程序设计Demo - 七段数码管绘制的更多相关文章
- Python入门基础:七段数码管绘制
1.在学习Python的过程中,运用所学的一些基础知识,进行一些简单的编程,可以收获很多乐趣.在生活中,LED灯无处不在,荧幕显示的广告词,给我们呈现出动态的视觉效果.下面,则以最简单的显示日期为例, ...
- Python语言程序设计(3)--实例2-python蟒蛇绘制-turtle库
1. 2. 3.了解turtle库 Turtle,也叫海龟渲染器,使用Turtle库画图也叫海龟作图.Turtle库是Python语言中一个很流行的绘制图像的函数库.海龟渲染器,和各种三维软件都有着良 ...
- 使用Python的turtle库实现七段数码管绘制
七段数码管绘制:七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置.七段数码管能形成2=128种状态,其中部分状态能够显示易于人们理解的数字或字母含义.因此 ...
- 【学习笔记】PYTHON语言程序设计(北理工 嵩天)
1 Python基本语法元素 1.1 程序设计基本方法 计算机发展历史上最重要的预测法则 摩尔定律:单位面积集成电路上可容纳晶体管数量约2年翻倍 cpu/gpu.内存.硬盘.电子产品价格等都遵 ...
- Python语言程序设计之二--用turtle库画围棋棋盘和正、余弦函数图形
这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位 ...
- 基于turtle库的七段数码管绘制
·文章结构 >样例及概览 >函数框架分析 >功能发展·样例及概览 七段数码管,是信号灯.电子表等很多设备的显示形式.而利用python的turtle库,我们也可以模拟着写出一个动态生 ...
- 【任务】Python语言程序设计.MOOC学习
[博客导航] [Python导航] 任务 18年11月29日开始,通过9周时间跨度,投入约50小时时间,在19年1月25日之前,完成中国大学MOOC平台上的<Python语言程序设计>课程 ...
- 全国计算机等级考试二级Python语言程序设计考试大纲
全国计算机等级考试二级Python语言程序设计考试大纲(2018年版) 基本要求 掌握Python语言的基本语法规则. 掌握不少于2个基本的Python标准库. 掌握不少于2个Python第三方库,掌 ...
- Python语言程序设计之一--for循环中累加变量是否要清零
最近学到了Pyhton中循环这一章.之前也断断续续学过,但都只是到了函数这一章就停下来了,写过的代码虽然保存了下来,但是当时的思路和总结都没有记录下来,很可惜.这次我开通了博客,就是要把这些珍贵的学习 ...
随机推荐
- 搭建sqli靶场
前言: sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程 sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载 ...
- www.zhaoyueyi.cn
2019/6/20这一天.我筹划了很久,准备搞点事情; 然后去阿里云上买下了我思虑已久的服务器以及域名,以前一直舍不得买,或许也是因为舍不得买的原因,我的技术一直很low,处于很肤浅的水平 虽然工作4 ...
- 【ARM-Linux开发】使用QT和Gstreanmer 遇到的一些问题
1.如果出现错误,可能是在安装UCT PCRF时,相关组件不全,略举两个碰到的错误. 1)curl/curl.h:No such file or directory --可能原因是libcurl及相关 ...
- C#基础知识学习 三
- 点亮文字(CSS)
html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8& ...
- kubernetes 部署ingress
kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理 ...
- 如何用IDEA创建springboot(maven)并且整合mybatis连接mysql数据库和遇到的问题
一.New->Project 二.点击next 三.在Group栏输入组织名,Artifact就是项目名.选择需要的java版本,点击next 四.添加需要的依赖 在这里我们也可以添加sql方面 ...
- 【C++札记】命名空间(namespace)
介绍 命名空间可以解决程序中的同名冲突,尤其大型项目多人开发中经常用到.比如我们使用C++的标准输出std::cout就使用了std命名空间. 使用作用域符:: #include <iostre ...
- Board Game CodeForces - 605D (BFS)
大意: 给定$n$张卡$(a_i,b_i,c_i,d_i)$, 初始坐标$(0,0)$. 假设当前在$(x,y)$, 若$x\ge a_i,y\ge b_i$, 则可以使用第$i$张卡, 使用后达到坐 ...
- Luogu5363 SDOI2019移动金币(博弈+动态规划)
容易想到可以转化为一个有m堆石子,石子总数不超过n-m的阶梯博弈.阶梯博弈的结论是相当于只考虑奇数层石子的nim游戏. nim和不为0不好算,于是用总方案数减掉nim和为0的方案数.然后考虑dp,按位 ...