七段数码管绘制


1.题目问题:


2.前言了解

我们可以使用海龟函数 turtle 来进行绘制,但在绘制之前我们要了解:

1.数码管知识点



2.turtle打印汉字:
# 这个函数就是打印汉字 没有移动的轨迹
import turtle ,os
def writeWord(target_word, startx, starty):  # 基于坐标,打印汉字"""基于坐标,打印单个汉字:param target_word: 目标汉字:param startx: 起始位置x:param starty: 起始位置y:return:"""turtle.color("black", "black")  # 设置画笔颜色turtle.pu()  # 抬起画笔turtle.goto(startx, starty)  # 移动到指定位置turtle.pd()  # 下笔turtle.write(target_word, move=False, align='left', font=('汉仪程行简', 120, 'normal'))  # 打印汉字
writeWord("牛逼",-400,0)
writeWord("牛逼",-400,-400)
os.system("pause")


2.键盘输入十进制转化为十六进制
a=input()
print(type(a)) #显示a的类型
a=int(a)#键盘输入为字符型,我们要转换为数字型
print(type(a)) #显示a的类型
a=hex(a)#变为十六进制
print(a)
b=a[2:].upper() #从第二位开始读到最后
print(b)

3.思路:

我们简单的分析一下问题:

输入:9999

输出 十进制 9999b和十六进制 270FH

很显然我们要将输入分为两部分输入一个是十进制,另一个是十六进制

1.我们先3个自定义函数,drawLine(绘制单段数码管);drawDAL(绘制单个数字或者字符)(Numbers and letters);writeWord(打印汉字);main(主函数)
2.在主函数中对于输出的需求:我们要用turtle打印汉字,十进制绘制;转化为十六进制输出
3.完成各部分函数

四.源码:

import turtle,os
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(digit):drawLine(True) if digit in ['2','3','4','5','6','8','9','A','B','D','E','F','H','K','N','O','P','Q','S','T','W','X','Y','Z'] else drawLine(False)drawLine(True) if digit in ['0','1','3','4','5','6','7','8','9','A','B','D','G','H','I','J','K','M','N','O','Q','U','V','W','X','Y'] else drawLine(False)drawLine(True) if digit in ['0','2', '3','5','6','8','9','B','C','D','E','G','I','J','L','O','S','T','U','V','W','Y','Z'] else drawLine(False)drawLine(True) if digit in ['0','2','6','8','A','B','C','D','E','F','G','H','K','L','M','N','O','P','R','T','U','V','W','Z'] else drawLine(False)turtle.left(90)drawLine(True) if digit in ['0','4','5','6',' 8', '9','A','B','C','E','F','G','H','K','L','M','P','Q','R','T','U','W','X','Y'] else drawLine(False)drawLine(True) if digit in ['0','2', '3', '5','7', '8', '9','A','C','E','F','G','I','K','M','P','Q','R','S'] else drawLine(False)drawLine(True) if digit in ['0','1','2', '3', '4', '7', '8', '9','A','D','H','I','J','M','P','Q','U','W','Y','Z'] else drawLine(False)turtle.left(180)turtle.penup()turtle.fd(20)
def drawDate(date):turtle.pencolor("red")for i in date:drawDigit(i)
def writeWord(target_word):  # 打印汉字turtle.color("black", "black")  # 设置画笔颜色turtle.write(target_word, move=False, align='left', font=('宋体', 30, 'normal'))  # 打印汉字
def main():turtle.setup(800,450,100,100)turtle.penup()turtle.goto(-300,150)turtle.pensize(5)a=input()writeWord("十进制:")  #打印汉字十进制turtle.goto(-50, 150)drawDate(a)  #打印十进制drawDate('B') #在十进制后面加上ba=int(a)a=hex(a)b = a[2:].upper()  #将我们输入的A装化成十六进制turtle.goto(-300,0)writeWord("十六进制:")  #打印汉字十六进制turtle.goto(-50, 0)drawDate(b)  #打印十六进制drawDate('H')  # 在十六进制后面加上Hturtle.hideturtle()turtle.doneos.system("pause") #按任意键退出
main()

结果:

七段数码管绘制(十进制转十六进制)相关推荐

  1. python七段数码管绘制单个数字_#Python语言程序设计Demo - 七段数码管绘制

    #七段数码管绘制 importturtle as timporttime as Tdef drawGap(): #绘制数码管的间隔 t.penup() t.fd(5)def drawLine(draw ...

  2. Python练习:七段数码管绘制

    今天在慕课网上继续学习北京理工大学老师讲的Python语言程序设计,看到这个例子感觉很有趣.所以想了想还是写上来. 七段数码管绘制: 所用的知识:turtle库和time库的使用.函数的定义及使用 代 ...

  3. 第十四章 七段数码管绘制时间

    七段数码管绘制: 需求:用程序绘制七段数码管,似乎很有趣 该怎么做呢? turtle绘图体系===>>七段数码管绘制 问题分析 七段数码管绘制时间 基本思路 步骤1:绘制单个数字对应的数码 ...

  4. #Python语言程序设计Demo - 七段数码管绘制

    Python设计七段数码管绘制 单个数码管效果: 设计总数码管效果: Pyhton 编程: #七段数码管绘制 import turtle as t import time as T def drawG ...

  5. python七段数码管绘制英文字母_Python实例之七段数码管绘制理解

    Python 实例之七段数码管绘制理解 八段线的编号如上图所示.基本逻辑为画笔从 1 走到 7 ,每一步画笔落下代表画或者是 画笔抬起代表不画,最终形成 1-9 的数字排列.以下理解均为个人学习理解. ...

  6. python绘制一个时间的七段数码管实例基本的七段数码管绘制

    基本的七段数码管绘制 绘制一个时间的七段数码管 基本思路 步骤一:绘制单个数字对应的数码管 步骤二:获得一串数字,绘制对应的数码管 步骤三:获得当前系统时间,绘制对应的数码管 数码管的基本构造 七段数 ...

  7. Python实现 七段数码管绘制(嵩天老师)

    示例7:七段数码管绘制 基本思路 -步骤1:绘制单个数字对应的数码管 -步骤2:获得一串数字,绘制对应的数码管 -步骤3:获得当前系统时间,绘制对应的数码管   代码段1: import turtle ...

  8. python七段数码管绘制单个数字_使用Python的turtle库实现七段数码管绘制

    七段数码管绘制: 七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置. 七段数码管能形成2^7=128种状态,其中部分状态能够显示易于人们理解的数字或字母含 ...

  9. 10 实例:七段数码管绘制

    1.问题分析 可以用turtle画图体系进行画图,让特定的数码管的横杠亮就可以表示不同的数字. 2.绘制结果分析 3.七段数码管绘制实例 3.1 基本思路 3.2 步骤 步骤1 import turt ...

最新文章

  1. 四种主流的 API 架构风格对比
  2. CVPR 2021 | 微软提出“解构式关键点回归“, 刷新COCO自底向上多人姿态检测记录!
  3. 头条python面试题_大意了,这几道Python面试题没有答对,Python面试题精选
  4. Mac版钉钉之一个新的技术electron
  5. python 传递任意数量的实参
  6. 半导体物理学——(四)半导体的导电性
  7. java.security.NoSuchAlgorithmException: SHA256WithRSAandMGF1 Signature not available
  8. 期刊投稿参考文献格式注意要点
  9. 最实用的Linux命令大全
  10. MM眉心为什么会长痘痘
  11. 【计算机网络】Web服务器的配置
  12. wechat微信小程序 :对应的服务器证书无效
  13. 微信小程序:WeUI一个专为微信小程序设计的UI框架
  14. 数位dp总结 之 从入门到模板
  15. 【实战讲解】使用 Linux alias 为命令设置别名,设置永久别名
  16. python外国网站爬虫_Python3网络爬虫(一):利用urllib进行简单的网页抓取
  17. 10秒就会让男人爱上的美女 长什么样
  18. [源庚]花开的瞬间——大本营全分析
  19. OpenGL的glOrtho平行投影函数详解[转]
  20. CleanMyMac X4.10.5长期授权标准版

热门文章

  1. 移动所联手南京联通推出5G产业技术创新服务基地,全面构建5G融合新生态...
  2. 硬汉2奉陪到底.RMVB/619M.国语/中字.2011最新科经典续集 迅雷下载
  3. coreldrew计算机等级,全国计算机信息高新技术考试(CorelDRAW).doc
  4. 品优购首页——网页轮播图
  5. Analyze 菜单分析
  6. 半导体蚀刻过程中光学监测
  7. html用于设置段落文本缩进,CDR中如何设置段落文本首行缩进
  8. 【附源码】计算机毕业设计java智能化车辆管理综合信息平台设计与实现
  9. matlab读取mat文件,保存为txt
  10. Vegas色彩匹配特效怎么使用?