进制转换python编程,用python转换进制

  进制转换python编程,用python转换进制

  这篇文章主要介绍了如何利用大蟒制作一个多进制转换工具,可以实现注射毒品进制、4进制、8进制、10进制、16进制、32进制直接的互转,需要的可以参考一下

  

目录
前言主要步骤完整代码

  

前言

  学习资料下载链接提取码:9d4g进制转换计算工具含源文件

  

主要步骤

  导入模块

  导入图形界面

  来自tkinter导入*

  将图形界面作为坦克导入

  从tkinter.ttk导入*

  整个框架的主结构

  root=Tk()

  root.title(贱工坊-进制转换计算) # 程序的标题名称

  根。几何( 580 x400 512 288 )#窗口的大小及页面的显示位置

  root.resizable(False,False) #固定页面不可放大缩小

  根。图标位图(图片。ico )#程序的图标

  图像使用者界面框架插入图片,视觉感受

  canvas=tkinter .Canvas(root,bg=#ebebeb ,height=400,width=700,borderwidth=-3) #创建画布

  canvas.pack(side=top) #放置画布(为上端)

  尝试:

  image_file=tkinter .照片图像(文件=。/chart.png) #加载图片文件

  canvas.create_image(0,0,anchor=nw ,image=image_file) #将图片置于画布上

  例外:

  及格

  信息输入框

  # 信息输入

  var_=tkinter .字符串变量()

  输入变量=tk .Entry(root,width=34,textvariable=var_,

  font=(微软雅黑,10),bg=#ebebeb ,fg=red ,borderwidth=0.7)

  输入变量.地点(x=10,y=4)

  信息输出框

  # 二进制

  var_2bin=tkinter .字符串变量()

  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 .字符串变量()

  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 .字符串变量()

  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 .字符串变量()

  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 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") + "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多进制转换工具的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: