如何使用Python制作一个多进制转换工具
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,小编给大家分享一下如何使用Python制作一个多进制转换工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言学习资料下载
千家信息网最后更新 2025年01月17日如何使用Python制作一个多进制转换工具
小编给大家分享一下如何使用Python制作一个多进制转换工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
前言
学习资料下载链接 提取码:tha8 进制转换计算工具含源文件
主要步骤
导入模块
import tkinterfrom tkinter import *import tkinter as tkfrom tkinter.ttk import *
整个框架的主结构
root = Tk()root.title('贱工坊-进制转换计算') # 程序的标题名称root.geometry("580x400+512+288") # 窗口的大小及页面的显示位置root.resizable(False, False) # 固定页面不可放大缩小root.iconbitmap("picture.ico") # 程序的图标
GUI框架插入图片,视觉感受
canvas = tkinter.Canvas(root, bg="#ebebeb", height=400, width=700, borderwidth=-3) # 创建画布canvas.pack(side='top') # 放置画布(为上端)try: image_file = tkinter.PhotoImage(file="./chart.png") # 加载图片文件 canvas.create_image(0, 0, anchor='nw', image=image_file) # 将图片置于画布上except: pass
信息输入框
# 信息输入var_ = tkinter.StringVar()input_var_ = tk.Entry(root,width=34,textvariable=var_, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_var_.place(x=10, y=4)
信息输出框
# 二进制var_2bin = tkinter.StringVar()input_2bin = tk.Entry(root,width=23,textvariable=var_2bin, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_2bin.place(x=16, y=200) # 八进制var_8oct = tkinter.StringVar()input_8oct = tk.Entry(root,width=24,textvariable=var_8oct, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_8oct.place(x=194, y=240) # 十进制var_10int = tkinter.StringVar()input_10int = tk.Entry(root,width=23,textvariable=var_10int, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_10int.place(x=380, y=200) # 十六进制var_16hex = tkinter.StringVar()input_16hex = tk.Entry(root,width=23,textvariable=var_16hex, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_16hex.place(x=70, y=300) # 三十二进制var_32baseN = tkinter.StringVar()input_32baseN = tk.Entry(root,width=23,textvariable=var_32baseN, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_32baseN.place(x=326, y=300)
用来清空输出框
# 清空def cls(): input_2bin.delete(0, 'end') input_8oct.delete(0, 'end') input_10int.delete(0, 'end') input_16hex.delete(0, 'end') input_32baseN.delete(0, 'end')
转换数据的主要核心,bin、oct、int、hex,
# 二进制转换def bin2(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 2))) # 2进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 2))) # 2进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 2))) # 2进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 2))) # 2进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 四进制转换def bin4(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 4))) # 4进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 4))) # 4进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 4))) # 4进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 4))) # 4进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 八进制转换def oct8(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 8))) # 8进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 8))) # 8进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 8))) # 8进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 8))) # 8进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 十进制转换def int10(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 10))) # 10进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 10))) # 10进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 10))) # 10进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 10))) # 10进制 转 16进制 except: input_16hex.insert('end','转换失败') def baseN(num, b): return ((num == 0) and "0") or \ (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b]) try: input_32baseN.insert('end',baseN(int(var_.get()), 32)) # 10进制 转 32进制 except: input_32baseN.insert('end','转换失败')# 十六进制转换def hex16(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 16))) # 16进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 16))) # 16进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 16))) # 16进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 16))) # 16进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 十六进制转换def baseN32(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 32))) # 32进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 32))) # 32进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 32))) # 32进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 32))) # 32进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')
按钮插入
Button(root, text='二进制转换',command=bin2).place(x=13, y=30)Button(root, text='四进制转换',command=bin4).place(x=103, y=30)Button(root, text='八进制转换',command=oct8).place(x=193, y=30) Button(root, text='十进制转换',command=int10).place(x=13, y=60)Button(root, text='十六进制转换',command=hex16).place(x=103, y=60)Button(root, text='三十二进制转',command=baseN32).place(x=193, y=60)
不仅好用,还可以装逼,可将你的QQ号转为16进制用QQ进行登录,装逼再好不过了
看效果:已打包
上方有链接可供下载
完整代码
import tkinterfrom tkinter import *import tkinter as tkfrom tkinter.ttk import * root = Tk()root.title('贱工坊-进制转换计算') # 程序的标题名称root.geometry("580x400+512+288") # 窗口的大小及页面的显示位置root.resizable(False, False) # 固定页面不可放大缩小root.iconbitmap("picture.ico") # 程序的图标 canvas = tkinter.Canvas(root, bg="#ebebeb", height=400, width=700, borderwidth=-3) # 创建画布canvas.pack(side='top') # 放置画布(为上端)try: image_file = tkinter.PhotoImage(file="./chart.png") # 加载图片文件 canvas.create_image(0, 0, anchor='nw', image=image_file) # 将图片置于画布上except: pass # 信息输入var_ = tkinter.StringVar()input_var_ = tk.Entry(root,width=34,textvariable=var_, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_var_.place(x=10, y=4) # 二进制var_2bin = tkinter.StringVar()input_2bin = tk.Entry(root,width=23,textvariable=var_2bin, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_2bin.place(x=16, y=200) # 八进制var_8oct = tkinter.StringVar()input_8oct = tk.Entry(root,width=24,textvariable=var_8oct, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_8oct.place(x=194, y=240) # 十进制var_10int = tkinter.StringVar()input_10int = tk.Entry(root,width=23,textvariable=var_10int, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_10int.place(x=380, y=200) # 十六进制var_16hex = tkinter.StringVar()input_16hex = tk.Entry(root,width=23,textvariable=var_16hex, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_16hex.place(x=70, y=300) # 三十二进制var_32baseN = tkinter.StringVar()input_32baseN = tk.Entry(root,width=23,textvariable=var_32baseN, font=('微软雅黑', 10),bg='#ebebeb',fg='red', borderwidth=0.7)input_32baseN.place(x=326, y=300) base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]# 清空def cls(): input_2bin.delete(0, 'end') input_8oct.delete(0, 'end') input_10int.delete(0, 'end') input_16hex.delete(0, 'end') input_32baseN.delete(0, 'end') # 二进制转换def bin2(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 2))) # 2进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 2))) # 2进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 2))) # 2进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 2))) # 2进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 四进制转换def bin4(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 4))) # 4进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 4))) # 4进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 4))) # 4进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 4))) # 4进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 八进制转换def oct8(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 8))) # 8进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 8))) # 8进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 8))) # 8进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 8))) # 8进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 十进制转换def int10(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 10))) # 10进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 10))) # 10进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 10))) # 10进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 10))) # 10进制 转 16进制 except: input_16hex.insert('end','转换失败') def baseN(num, b): return ((num == 0) and "0") or \ (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b]) try: input_32baseN.insert('end',baseN(int(var_.get()), 32)) # 10进制 转 32进制 except: input_32baseN.insert('end','转换失败')# 十六进制转换def hex16(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 16))) # 16进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 16))) # 16进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 16))) # 16进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 16))) # 16进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败')# 十六进制转换def baseN32(): cls() try: input_2bin.insert('end',bin(int(var_.get(), 32))) # 32进制 转 2进制 except: input_2bin.insert('end','转换失败') try: input_8oct.insert('end',oct(int(var_.get(), 32))) # 32进制 转 8进制 except: input_8oct.insert('end','转换失败') try: input_10int.insert('end',str(int(var_.get(), 32))) # 32进制 转 10进制 except: input_10int.insert('end','转换失败') try: input_16hex.insert('end',hex(int(var_.get(), 32))) # 32进制 转 16进制 except: input_16hex.insert('end','转换失败') input_32baseN.insert('end','转换失败') Button(root, text='二进制转换',command=bin2).place(x=13, y=30)Button(root, text='四进制转换',command=bin4).place(x=103, y=30)Button(root, text='八进制转换',command=oct8).place(x=193, y=30) Button(root, text='十进制转换',command=int10).place(x=13, y=60)Button(root, text='十六进制转换',command=hex16).place(x=103, y=60)Button(root, text='三十二进制转',command=baseN32).place(x=193, y=60) root.mainloop()
以上是"如何使用Python制作一个多进制转换工具"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
进制
微软
二进制
十六进制
八进制
十进制
画布
十进
图片
信息
程序
页面
工具
篇文章
输入
制作
上端
位置
内容
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京都瑞网络技术有限公司
服务器樱花面板与青龙面板
信息网络技术与应用专业
全国游戏软件开发商排名
西安法治文化展馆软件开发
蒂姆维澳网络技术有限公司
中指数据库 价格
服务器电脑无法打印
图书数据库管理
计算机网络技术专业单位分析
中欧网络安全合作
中国最大网络安全系统
网络安全考警察
uml图在软件开发的用途
985网络安全硕士毕业年薪
SQL有哪几种数据库文件
服务器管理员永久怎么弄
国家网络安全基地 长沙
如何注册家庭安装服务器
c s架构的软件开发流程
backmir 服务器
杭州注册软件开发公司
自己电脑的数据库连不上
泰州工程软件开发资费
uml图在软件开发的用途
华为2288服务器启动快捷键
步多多软件开发者靠什么赚钱
公务员服务器内可以调动吗
数据库中提取字段最小时间行
天津众信网络技术有限公司