七段数码管26字母对照表(附带映射表以及映射数组)

映射图是网络上面找的,对应十六进制是手敲的。
惨兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮兮
上表(图片有大大的水印。明示盗图 狗头)
在这里插入图片描述然后是对应表
10.15添加版:将对照表也加进去(又是盗的图,侵权就删(滑稽))
在这里插入图片描述

这里就不使用图了。不方便Ctrl C

//第一行是0-9
//第二行开始就是a-z了
u8 mysegable[] = {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,    
0x77,0x7c,0x39,0x5e,0x79,0x71,0x3d,0x76,0x0f,0x0e,
0x75,0x38,0x37,0x54,0x5c,0x73,0x67,0x31,0x49,0x78,
0x3e,0x1c,0x7e,0x64,0x6e,0x59
};

特意贴出显示的时候一些处理
假定输出一个字符串
因为默认了不区分大小写

	char sz1[100] = "vfbxfxgfzsgzh7555fu86%";//要显示的字符串
	//char sz1[] = "0123456789abcdefghijklmnopqrstuvwxyz%";
	int sz[100];//处理后存的位置
	int i = 0;
	for(;sz1[i]!='%';i++)
	{
		if(sz1[i]>='a'&&sz1[i]<='z')//是小写就 - ‘a’
		    sz[i] = sz1[i]-'a'+10;
		if(sz1[i]>='0'&&sz1[i]<='9')//是数字就 - ‘0’
			sz[i] = sz1[i]-'0';
		if(sz1[i]>='A'&&sz1[i]<='Z')//是大写就 - ‘A’
			sz[i] = sz1[i]-'A';
	}

ps:区分大小写可以考虑使用八段数码管使用那个小数点表示大写

  • 35
    点赞
  • 144
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,我可以帮你实现这个功能。我们可以使用之前定义的 `digit_layouts` 字典来绘制七段数码管字母对照表,然后再输出你的姓名。 ```python import turtle # 定义画笔 pen = turtle.Turtle() pen.speed(0) pen.hideturtle() # 定义绘制一个线段的函数 def draw_line(length, is_vertical): pen.right(90 if is_vertical else 0) pen.forward(length) pen.left(180 if is_vertical else 90) pen.forward(length) pen.right(180 if is_vertical else 90) pen.forward(length) pen.left(180 if is_vertical else 90) pen.forward(length) pen.right(90 if is_vertical else 0) # 定义绘制七段数码管的函数 def draw_digit_layout(layout, size): # 绘制第一条线段 if layout[0]: draw_line(size, False) pen.penup() pen.forward(size) pen.pendown() # 绘制第二条线段 if layout[1]: draw_line(size, False) pen.penup() pen.backward(size) pen.right(90) pen.forward(size) pen.left(90) pen.pendown() # 绘制第三条线段 if layout[2]: draw_line(size, True) pen.penup() pen.backward(size) pen.left(90) pen.forward(size * 2) pen.right(90) pen.pendown() # 绘制第四条线段 if layout[3]: draw_line(size, True) pen.penup() pen.backward(size) pen.right(90) pen.forward(size) pen.left(90) pen.pendown() # 绘制第五条线段 if layout[4]: draw_line(size, False) pen.penup() pen.forward(size) pen.pendown() # 绘制第六条线段 if layout[5]: draw_line(size, True) pen.penup() pen.backward(size) pen.left(90) pen.forward(size * 2) pen.right(90) pen.pendown() # 绘制第七条线段 if layout[6]: draw_line(size, True) pen.penup() pen.backward(size) pen.right(90) pen.forward(size) pen.left(90) # 定义绘制一个数字或字母的函数 def draw_digit(digit, size): layout = digit_layouts[digit] draw_digit_layout(layout, size) # 绘制七段数码管字母对照表 size = 30 pen.penup() pen.goto(-300, 200) pen.pendown() for i, digit in enumerate(digit_layouts.keys()): draw_digit(digit, size) pen.penup() pen.forward(size * 2) pen.pendown() if (i + 1) % 4 == 0: pen.penup() pen.goto(-300, pen.ycor() - size * 4) pen.pendown() # 输出姓名 pen.penup() pen.goto(-200, -200) pen.pendown() name = 'Your Name' for char in name: draw_digit(char.upper(), size) pen.penup() pen.forward(size * 2) pen.pendown() ``` 这样,你就可以看到绘制好的七段数码管字母对照表和输出的你的姓名了。如果需要修改字母大小和位置,可以调整 `size` 和 `pen.goto()` 函数的参数。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值