返回顶部
首页 > 资讯 > 后端开发 > Python >如何使用Python制作一个多进制转换工具
  • 726
分享到

如何使用Python制作一个多进制转换工具

2023-06-29 03:06:06 726人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下如何使用python制作一个多进制转换工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言学习资料下载链接 提取码:tha8&nbs

小编给大家分享一下如何使用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进行登录,装逼再好不过了

看效果:已打包

如何使用Python制作一个多进制转换工具

如何使用Python制作一个多进制转换工具

上方有链接可供下载

完整代码

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制作一个多进制转换工具”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网Python频道!

--结束END--

本文标题: 如何使用Python制作一个多进制转换工具

本文链接: https://lsjlt.com/news/322154.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用Python制作一个多进制转换工具
    小编给大家分享一下如何使用Python制作一个多进制转换工具,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言学习资料下载链接 提取码:tha8&nbs...
    99+
    2023-06-29
  • 基于Python制作一个多进制转换工具
    目录前言主要步骤完整代码前言 学习资料下载链接 提取码:9d4g  进制转换计算工具含源文件 主要步骤 导入模块 import tkinter from tki...
    99+
    2024-04-02
  • 怎么使用Java实现进制转换工具类
    本文小编为大家详细介绍“怎么使用Java实现进制转换工具类”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Java实现进制转换工具类”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。原理低进制转换到高进制的时...
    99+
    2023-07-05
  • 基于Java如何实现进制转换工具类
    这篇文章主要介绍了基于Java如何实现进制转换工具类的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于Java如何实现进制转换工具类文章都会有所收获,下面我们一起来看看吧。背景最近有个发送短信的功能,需要在短信...
    99+
    2023-07-05
  • 使用Python怎么制作一个信息轰炸工具
    本篇文章给大家分享的是有关使用Python怎么制作一个信息轰炸工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。准备阶段我们需要安装pyautogui调用库(在命令提示符下安装...
    99+
    2023-06-15
  • 如何使用PyQT5制作一个敏感词检测工具
    小编给大家分享一下如何使用PyQT5制作一个敏感词检测工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!设计思路:根据敏感词库文件筛选,查看输入的文本中是否包含敏感词汇。从而过滤出相关的敏感词。导入应用相关的模块。impo...
    99+
    2023-06-29
  • 怎么使用Python和ChatGPT制作一个AI实用工具
    本篇内容介绍了“怎么使用Python和ChatGPT制作一个AI实用工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注册OpenAI首先需...
    99+
    2023-07-05
  • 如何使用Python制作ASCII码转换器
    这篇文章主要为大家展示了“如何使用Python制作ASCII码转换器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Python制作ASCII码转换器”这篇文章吧。实现效果使用 chr 和...
    99+
    2023-06-29
  • Python如何利用PaddleOCR制作个搜题小工具
    这篇文章主要介绍“Python如何利用PaddleOCR制作个搜题小工具”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何利用PaddleOCR制作个搜题小工具”文章能帮助大家解决问题。...
    99+
    2023-07-02
  • python 制作一个gui界面的翻译工具
    目录一.准备工作二.预览1.主界面2.翻译3.支持多种语言哦三.源代码3.1 My_Translator-v2.0.py3.2 Translator.py四.总结一.准备工作 除了Tkinter,还需要google...
    99+
    2022-06-02
    python 翻译工具 python gui
  • 如何使用Python制作文件解压缩工具
    本文小编为大家详细介绍“如何使用Python制作文件解压缩工具”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python制作文件解压缩工具”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。经常由于各种压缩格...
    99+
    2023-07-06
  • 怎么用Python制作一个文件去重小工具
    这篇文章主要讲解了“怎么用Python制作一个文件去重小工具”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python制作一个文件去重小工具”吧!前言常常在下载网络素材时有很多的重复文...
    99+
    2023-06-29
  • 怎么在python中使用format实现一个进制转换功能
    怎么在python中使用format实现一个进制转换功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。10进行十进制,十六进制,八进制,二进制的转换:(#:保留进制前缀)对...
    99+
    2023-06-08
  • python二进制转换模块的具体用法
    在pyton中,通过struct模块来对二进制进行转换,主要包括两大类函数,即用于打包的pack和用于解包的unpack。 其中,struct.pack的输入格式为struct.pa...
    99+
    2024-04-02
  • python使用hex函数将10进制转换为16进制
    hex:hex()函数的作用:hex:hex()函数是将10进制整数转换成16进制,并以字符串形式表示。hex()函数语法:hex(x)在python中使用hex()函数将10进制转换为16...
    99+
    2024-04-02
  • 基于Python制作一个文件去重小工具
    目录前言实现步骤补充前言 常常在下载网络素材时有很多的重复文件乱七八糟的,于是想实现一个去重的操作。 主要实现思路就是遍历出某个文件夹包括其子文件夹下面的所有文件,最后,将所有文件...
    99+
    2024-04-02
  • 基于Python制作一个文件解压缩工具
    经常由于各种压缩格式的不一样用到文件的解压缩时就需要下载不同的解压缩工具去处理不同的文件,以至于桌面上的压缩工具就有三四种,于是使用python做了一个包含各种常见格式的文件解压缩的...
    99+
    2024-04-02
  • Python利用PaddleOCR制作个搜题小工具
    目录介绍安装安装PaddlePaddle飞桨框架安装PaddleOCR代码使用搜题小工具安装ADB截图并保存题目区域图片OCR识别,获取题目打开浏览器搜索完整代码介绍 PaddleO...
    99+
    2024-04-02
  • 基于Python+OpenCV如何制作屏幕录制工具
    这篇文章跟大家分析一下“基于Python+OpenCV如何制作屏幕录制工具”。内容详细易懂,对“基于Python+OpenCV如何制作屏幕录制工具”感兴趣的朋友可以跟着小编的思路慢慢深入来阅读一下,希望阅读后能够对大家有所帮助。下面跟着小编...
    99+
    2023-06-26
  • 使用python怎么操作内置进制转换函数
    这篇文章给大家介绍使用python怎么操作内置进制转换函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。dec = input('10进制数为:')print("转换为二进...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作