【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)

【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)点个赞留个关注吧 学习资料下载链接 百度网盘提取码 tha8 进制转换计算工具含源文件导入模块 importtkinte importtkinte ttkimport 整个框架的主结构 root Tk root title 贱工坊 进制转换计算 程序的标题名称 root geometry 580×400 512 288 窗口的大小及页面的显

点个赞留个关注吧!!

【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)

学习资料下载链接:百度网盘

 提取码:tha8 进制转换计算工具含源文件

导入模块

import tkinter from tkinter import * import tkinter as tk from 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") + "0abcdefghijklmnopqrstuvwxyz"[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)

不仅好用,还可以装逼,可将你的号转为16进制用进行登录,装逼再好不过了

看效果:已打包

【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)

 【Python 多进制转换】——数值多进制转换bin、oct、int、hex(2进制、4进制、8进制、10进制、16进制、32进制)

上方有链接可供下载

完整代码: 

import tkinter from tkinter import * import tkinter as tk from 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") + "0abcdefghijklmnopqrstuvwxyz"[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() 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200578.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午10:31
下一篇 2026年3月20日 上午10:31


相关推荐

  • Java教程,全套Java基础视频教程「建议收藏」

    Java教程,全套Java基础视频教程「建议收藏」深知广大爱好Java的人学习是多么困难,没视频没资源,上网花钱还老被骗。为此我呕心沥血整理了这套Java教程,不管你是不懂电脑的小白,还是已经步入开发的大牛,这套路线路你都值得拥有,小白看上面的视频可以成功学会Java并且顺利工作,大神看了上面的资源肯定会谆谆乐道,教程的宗旨就是分享,专业,便利,让喜爱Java的人,都能平等的学习。首先建立好开发环境非常重要,工欲善其事,必先利其器。做任何开发…

    2022年6月9日
    43
  • 时间复杂度为O(1)的Excel列名与列号转换算法

    时间复杂度为O(1)的Excel列名与列号转换算法目前大家经常使用的Excel列名与列号转换算法都至少包含一个循环算法的时间复杂度远大于O(1),众所周知Excel的列数是有上限的,既然是有穷的那么很显然我们可以做到O(1)转换列名与列号。首先我们

    2022年7月4日
    71
  • MYSQL集群的备份与恢复最终版本

    MYSQL集群的备份与恢复最终版本

    2021年7月26日
    53
  • tracert/traceroute原理

    tracert/traceroute原理一、路由追踪程序traceroute/tracertTraceroute是Linux和MacOS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序。二者的功能相同,都能探测数据包从源地址到目的地址经过的路由器的IP地址。Traceroute/Tracert的实现都借助了TTL:通过向目的地址发送一系列的探测包,设置探测包的TTL初始值分别为1,2,3…,根据

    2022年7月21日
    17
  • 零基础学习JAVA其实并不难!不相信?进来看看你就知道了

    零基础学习JAVA其实并不难!不相信?进来看看你就知道了其实Java并没有想象中的那么难,首先想要入这个行,要做好一个心理准备,那就是你想走远点,就得不间断的去学习,去汲取知识,前期不能怕辛苦,不要闲下来就打LOL、吃鸡、王者农药,有空就得多看看各种开源项目的代码,API的设计方式,各大网站的设计架构,理解各个环节的作用。补齐自己的知识视野。  当然这个行业也并不是什么门槛都没有,不要再私信我初中生、高中生、中专生能不能学习Java了。反正我个人是认为不可行的,或许你可以去问问其他大神?或许他们会觉得可以的。  下图是我更新过的自学表,分别分为4个阶段。按

    2022年7月7日
    42
  • aardio界面库_aardio有什么用

    aardio界面库_aardio有什么用之前想写一个图形界面化工具,了解了MFC、Qt,最后选了PyQt4,毕竟自己对python比较了解一些。后来同事推荐了一个aardio工具,发现确实很简便,不用什么乱七八糟的配置,安装包只有5.5M,安装编译,使用也简单。但也有不好的地方,因为使用比较少,所以有很多问题没法找到答案,这也是新语言的一种必然的过程。Anyway,膜拜一下大神。aardio官方社区:http://bbs.aardio….

    2025年6月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号