七段数码管绘制(十进制转十六进制)
七段数码管绘制
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()
结果:
七段数码管绘制(十进制转十六进制)相关推荐
- python七段数码管绘制单个数字_#Python语言程序设计Demo - 七段数码管绘制
#七段数码管绘制 importturtle as timporttime as Tdef drawGap(): #绘制数码管的间隔 t.penup() t.fd(5)def drawLine(draw ...
- Python练习:七段数码管绘制
今天在慕课网上继续学习北京理工大学老师讲的Python语言程序设计,看到这个例子感觉很有趣.所以想了想还是写上来. 七段数码管绘制: 所用的知识:turtle库和time库的使用.函数的定义及使用 代 ...
- 第十四章 七段数码管绘制时间
七段数码管绘制: 需求:用程序绘制七段数码管,似乎很有趣 该怎么做呢? turtle绘图体系===>>七段数码管绘制 问题分析 七段数码管绘制时间 基本思路 步骤1:绘制单个数字对应的数码 ...
- #Python语言程序设计Demo - 七段数码管绘制
Python设计七段数码管绘制 单个数码管效果: 设计总数码管效果: Pyhton 编程: #七段数码管绘制 import turtle as t import time as T def drawG ...
- python七段数码管绘制英文字母_Python实例之七段数码管绘制理解
Python 实例之七段数码管绘制理解 八段线的编号如上图所示.基本逻辑为画笔从 1 走到 7 ,每一步画笔落下代表画或者是 画笔抬起代表不画,最终形成 1-9 的数字排列.以下理解均为个人学习理解. ...
- python绘制一个时间的七段数码管实例基本的七段数码管绘制
基本的七段数码管绘制 绘制一个时间的七段数码管 基本思路 步骤一:绘制单个数字对应的数码管 步骤二:获得一串数字,绘制对应的数码管 步骤三:获得当前系统时间,绘制对应的数码管 数码管的基本构造 七段数 ...
- Python实现 七段数码管绘制(嵩天老师)
示例7:七段数码管绘制 基本思路 -步骤1:绘制单个数字对应的数码管 -步骤2:获得一串数字,绘制对应的数码管 -步骤3:获得当前系统时间,绘制对应的数码管 代码段1: import turtle ...
- python七段数码管绘制单个数字_使用Python的turtle库实现七段数码管绘制
七段数码管绘制: 七段数码管是由7段数码管拼接而成,每段有亮或不亮两种情况,改进的七段数码管还包括一个小数点位置. 七段数码管能形成2^7=128种状态,其中部分状态能够显示易于人们理解的数字或字母含 ...
- 10 实例:七段数码管绘制
1.问题分析 可以用turtle画图体系进行画图,让特定的数码管的横杠亮就可以表示不同的数字. 2.绘制结果分析 3.七段数码管绘制实例 3.1 基本思路 3.2 步骤 步骤1 import turt ...
最新文章
- 四种主流的 API 架构风格对比
- CVPR 2021 | 微软提出“解构式关键点回归“, 刷新COCO自底向上多人姿态检测记录!
- 头条python面试题_大意了,这几道Python面试题没有答对,Python面试题精选
- Mac版钉钉之一个新的技术electron
- python 传递任意数量的实参
- 半导体物理学——(四)半导体的导电性
- java.security.NoSuchAlgorithmException: SHA256WithRSAandMGF1 Signature not available
- 期刊投稿参考文献格式注意要点
- 最实用的Linux命令大全
- MM眉心为什么会长痘痘
- 【计算机网络】Web服务器的配置
- wechat微信小程序 :对应的服务器证书无效
- 微信小程序:WeUI一个专为微信小程序设计的UI框架
- 数位dp总结 之 从入门到模板
- 【实战讲解】使用 Linux alias 为命令设置别名,设置永久别名
- python外国网站爬虫_Python3网络爬虫(一):利用urllib进行简单的网页抓取
- 10秒就会让男人爱上的美女 长什么样
- [源庚]花开的瞬间——大本营全分析
- OpenGL的glOrtho平行投影函数详解[转]
- CleanMyMac X4.10.5长期授权标准版
热门文章
- 移动所联手南京联通推出5G产业技术创新服务基地,全面构建5G融合新生态...
- 硬汉2奉陪到底.RMVB/619M.国语/中字.2011最新科经典续集 迅雷下载
- coreldrew计算机等级,全国计算机信息高新技术考试(CorelDRAW).doc
- 品优购首页——网页轮播图
- Analyze 菜单分析
- 半导体蚀刻过程中光学监测
- html用于设置段落文本缩进,CDR中如何设置段落文本首行缩进
- 【附源码】计算机毕业设计java智能化车辆管理综合信息平台设计与实现
- matlab读取mat文件,保存为txt
- Vegas色彩匹配特效怎么使用?