介绍:

格雷码在光电编码器、步进电机等工程应用中使用比较广泛。相较于原始的二进制码,在工程使用中容错率和精度都要高出许多,具体详见:https://baike.baidu.com/item/%E6%A0%BC%E9%9B%B7%E7%A0%81/6510858?fr=aladdin

小编制作的格雷码转化器使用字符串进行操作,故对输入长度没有太大限制。

效果如下图所示:

不废话了,以下是代码:

#!/usr/bin/python # -*- coding: UTF-8 -*-from tkinter import *
from tkinter import scrolledtext,messagebox
import rewin_main = Tk()
win_main["background"] = "gray"
win_main["width"] = 1000
win_main["height"] = 600
win_main.title("格雷码转换器")
win_main.resizable(FALSE, FALSE)lbl_Binary_Title = Label(win_main, justify=LEFT)
lbl_Binary_Title['text'] = '普通二进制码'
lbl_Binary_Title['background'] = "white"
lbl_Binary_Title.place(width=300, height=25, x=100, y=100)stxt_Binary_InOut = scrolledtext.ScrolledText(win_main)
stxt_Binary_InOut.place(width=300, height=375, x=100, y=125)lbl_Gray_Title = Label(win_main, justify=LEFT)
lbl_Gray_Title['text'] = '格雷码'
lbl_Gray_Title['background'] = "white"
lbl_Gray_Title.place(width=300, height=25, x=600, y=100)stxt_Gray_InOut = scrolledtext.ScrolledText(win_main)
stxt_Gray_InOut.place(width=300, height=375, x=600, y=125)def cmd_BinaryToGray():b_data=stxt_Binary_InOut.get(0.0,END).strip()# print(type(b_data),len(b_data))regex = re.compile('[10]+')if regex.fullmatch(b_data)==None:messagebox.showinfo('注意','二进制输入格式错误!')returng_data = b_data[0]for i in range(len(b_data) - 1):if b_data[i]==b_data[i + 1]:g_data += '0'else:g_data += '1'stxt_Gray_InOut.delete(0.0,END)stxt_Gray_InOut.insert(END,g_data)return
btn_BinaryToGray = Button(win_main, justify=CENTER, text="——>", command=cmd_BinaryToGray)
btn_BinaryToGray.place(width=180, height=50, x=410, y=200)def cmd_GrayToBinary():g_data = stxt_Gray_InOut.get(0.0, END).strip()regex = re.compile('[10]+')if regex.fullmatch(g_data) == None:messagebox.showinfo('注意', '格雷码输入格式错误!')returnb_data = g_data[0]for i in range(len(g_data) - 1):if b_data[i] == g_data[i + 1]:b_data += '0'else:b_data += '1'stxt_Binary_InOut.delete(0.0, END)stxt_Binary_InOut.insert(END, b_data)return
btn_GrayToBinary = Button(win_main, justify=CENTER, text="<——", command=cmd_GrayToBinary)
btn_GrayToBinary.place(width=180, height=50, x=410, y=350)win_main.mainloop()

Python小工具——格雷码转换器相关推荐

  1. python小工具myqr生成动态二维码

    python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --he ...

  2. 自己整理实现的python小工具

    文章目录 记录一些自己整理实现的python小工具 python获取文件路径 pytho使用opencv进行图像拼接 记录一些自己整理实现的python小工具 python获取文件路径 因为有的程序需 ...

  3. python小工具—图片转为字符txt

    python小工具-图片转为字符txt 图片转为字符txt python小工具-图片转为字符txt 效果展示 转换图片信息 图片信息转字符 完整代码 效果展示 转换图片信息 将图片的rgb色彩信息转为 ...

  4. 【Python小工具】若干图片合并生成动态图(.gif)

    相信很多学生党.上班族在日常的学习.科研.办公中总会有一些比较特殊的需求,本人作为一个理工科(非计算机相关专业)学生和大家一样.有时好不容易找到了比较心仪的工具,却发现还要收费,质量和使用的便捷性也不 ...

  5. 自制python小工具(3)——Gadgets1.1

    自制python小工具(3)--Gadgets 1.1 文章目录 自制python小工具(3)--Gadgets 1.1 1. 前言 2. 功能实现 2.1 主程序界面 2.1.1 标签与按钮 2.1 ...

  6. python小工具之pdf转excel

    python小工具记录 #xlwt只支持后缀xls文件 不支持xlxs文件 #openpyxl不支持xls文件 支持xlxs文件 import pdfplumber import xlwt wb = ...

  7. Python小工具之翻译词典

    Python小工具之翻译词典 功能实现:请求网易有道词典的接口,获取翻译结果 代码如下: # -*- coding:utf-8 -*- """ Python制作翻译词典 ...

  8. Python小工具——唐诗三百首朗读

    Python小工具--唐诗三百首朗读 工具简介 系统语音朗读唐诗三百首,可自己选择要朗读的唐诗,可搜索查找唐诗进行朗读,可用于幼儿园或小学生熟悉唐诗,积累文学素养. 工具界面 1.打开工具 可查看当前 ...

  9. 【Python小工具】一文学会制作个性化二维码

    Python小工具系列是一个使用Python实现各种各样有意思的小玩意儿的系列,包括制作个性化的二维化.词云.简单爬虫等,持续更新中,如果你感兴趣就关注一波吧! 一.基本介绍

最新文章

  1. MySQL datetime类型字段的毫秒四舍五入
  2. JSON,数组根据字段分组
  3. python中mean的用法_Python statistics mean()用法及代码示例
  4. struts单例模式 java_Java单例设计模式详细介绍
  5. 马尔科夫随机场之图像去燥【Matlab实现,PRML例子】
  6. 【java】spring-boot源码解析之应用启动
  7. 用lnmp.org中的lnmp下安装ftp(pureftp)
  8. 技术支持在大数据分析中的作用
  9. python字典长度可变吗_为什么Python中字典的key必须是不可变的?
  10. IE兼容/IE5兼容踩过的坑
  11. 纯真IP库详解(转)
  12. 使用Apache poi生成excel并绘制折线统计图,扇形统计图
  13. 四川麻将胡牌判定(Python、C#、C++)
  14. 2021美国大学生数学建模竞赛C题翻译版
  15. <Linux>计算机体系结构和操作系统
  16. Python使用pyecharts库制作桑基图
  17. include在HTML中的用法
  18. 谁锁了我的帐号?(AD账号的锁定状态查询)
  19. 定制linux版本,定制属于自己的Linux操作系统
  20. win10系统一直处于欢迎界面

热门文章

  1. c语言程序二进制代码,二进制搜索/查找程序(C语言)
  2. LAMP兄弟连PHP开源框架免费在线课报名中
  3. 详解关于MTK驱动开发学习教程
  4. 编写一个简单的汇编程序(DOSBox 0.74和MASM 6.15)
  5. mysql coreseek_Linux下PHP+MySQL+CoreSeek中文检索引擎配置
  6. 汇编语言程序设计实验报告三
  7. metasploit魔鬼训练营_XSS
  8. 云畅科技入选中国信通院低代码无代码推进中心成员单位
  9. 咱中国人必须知道的国学常识
  10. 电路设计和电气识图知识点是相互关联的,PLC上位机入门应该知道