进制转换课件,进制转换程序代码

  进制转换课件,进制转换程序代码

  1.1案例介绍1.2准备工作2.1接口模块2.2算法核心2.2.1二进制2.2.2十进制2.2.3十六进制3。代码摘要[1] 4。运行截图5。附言

  1.1案例介绍由于网络原理和单片机课程的需要,我要处理很多关于二进制、十进制和十六进制之间转换的问题,所以我编写了一个小软件来替我完成这些任务。

  用户只需输入数字,选择相应的十进制,然后按下转换按钮,就可以在输出框中看到其他两种十进制的转换结果。

  #输入

  1011

  #二进制选择

  二进制的

  #输出

  小数:11

  十六进制:B

  1.2准备工作Python3.x

  2.1接口模块接口由四部分组成:接受用户输入、用户选择十进制、输出转换结果、打开按钮。

  采用tkinter中的网格布局方式。

  2.2算法核心这是算法的核心,包括:

  二进制-十进制,十六进制。十进制-二进制,十六进制。十六进制-二进制,十进制。以上三种算法的转换语句。

  2.2.1二进制2-10: str (int (number,2))

  2 - 16:.join(list(str(hex(int(number,2)))。upper())[2:])

  2.2.2十进制10-2:“”。join(list(bin(int(number))[2:])

  10 - 16:.join(list(hex(int(number))。upper())[2:])

  2.2.3十六进制16-2:“”。join(list(bin(int(str(int(number。上(),16)))) [2:])

  16 - 10: str(int(number.upper(),16))

  3.代码摘要1 #编码:utf-8

  # !/usr/bin/python

  @Filename:十进制转换

  @作者:家明

  @创建日期:2018/12/21下午07:28

  @description:提供二进制、十进制、十六进制之间的转换,使用网格布局。

  @更新日期:

  @文件url:

  将tkinter作为tk导入

  #提示框,下拉菜单

  从tkinter导入messagebox,ttk

  #接口对象的基本参数设置

  root=tk。Tk()

  Root.title(“十进制转换”)

  root.geometry(520x200 250 250 )

  #设置界面是否可以随意拉伸。

  root.resizable(False,False)

  Radix= #存储输入数字的二进制数

  Number= #存储要转换的数字。

  Text= #输出框文本内容

  定义绘制():

  绘图界面

  包括输入框、输出框、下拉菜单和图片。

  :返回:

  #输入一个数字

  Tk。Label(root,text=输入数字,font=(Times ,16))。网格(row=0,

  列=0,

  粘性=tk。W tk。e)

  #二进制选择

  Tk。Label(root,text= binary selection ,font=(Times ,16))。网格(row=0,

  列=1,

  粘性=tk。W tk。e)

  #输入框设置

  inputWord=tk。字符串变量()

  tk。Entry(root,width=50,textvariable=inputWord)。网格(行=1,

  列=0,

  粘性=tk。e)

  #转换结果

  Tk。Label(root,text=转换结果,font=(Times ,16))。网格(行=2,

  列=0,

  粘性=tk。W tk。e)

  #输出框设置

  输出字=tk。文本(root,width=50,height=5,font=(Arial ,10))

  outputWord.grid(row=3,column=0,sticky=tk。e)

  #下拉菜单设置

  #创建一个下拉菜单

  #将下拉列表设置为只读模式

  cmb=ttk。Combobox(root,width=20,state=readonly )

  cmb.grid(row=1,column=1,sticky=tk。e)

  #在下拉菜单中设置值

  cmb[值]=(二进制,十进制,十六进制)

  def按钮命令():

  实现按钮功能

  :返回:

  全局基数,数字

  #获取下拉菜单中的值

  if cmb.get()== :

  不返回

  #获取下拉菜单中内容的首字母

  elif cmb.get()[0]==B :

  #保存到变量

  基数=二进制

  #打印(二进制)

  elif cmb.get()[0]==D :

  radix=Decimal

  #打印(十进制)

  elif cmb.get()[0]==H :

  radix=十六进制

  #打印(十六进制)

  #将用户输入的数字保存到变量中

  number=inputWord.get()

  #清空输出框中的内容

  outputWord.delete(1.0,tk。结束)

  #调用算法核心函数

  text=calculate()

  #将结果插入输出框

  outputWord.insert(1.0,文本)

  #设置按钮

  btn=tk。按钮(根、

  Text=转换,

  Command=buttonCommand,# bind按钮事件(只需指向函数)

  宽度=20,

  高度=2,

  activebackground=gray ,

  fg=黑色)

  btn.grid(行=2,列=1,粘性=tk .传统知识.E tk .w)

  定义计算():

  计算进制转化结果

  小数

  十六进制的

  二进制的

  :返回:其余两个进制的转换结果

  if radix==Decimal :

  尝试:

  text=Binary: .join(list(bin(int(number))[2:])

  text=\n

  text=十六进制: 。join(list(hex(int(number)).upper())[2:])

  返回文本

  除外(值错误):

  messagebox.showerror(消息框, 错误!)

  elif radix==Binary :

  尝试:

  text=Decimal: str(int(number,2))

  text=\n

  text=十六进制: 。加入(

  list(str(hex(int(number,2))).upper())[2:])

  返回文本

  除外(值错误):

  messagebox.showerror(消息框, 错误!)

  elif radix==十六进制:

  尝试:

  text=Binary: .加入(

  list(bin(int(str(int(number。上(),16))))[2:])

  text=\n

  text= Decimal: str(int(number。upper(),16))

  返回文本

  除外(值错误):

  messagebox.showerror(消息框, 错误!)

  if __name__==__main__ :

  绘制()

  root.mainloop()

  4.运行截图

  5.后记以上就是关于进制转换案例的全部内容,希望你们喜欢,如果有什么问题,欢迎私信哦。如果比较受大家欢迎的话,下期咱们介绍关于如何将这个案例打包的话题。

  欢迎关注我的我的知乎专栏,里面有更多关于大蟒的精彩知识分享哦~

  本软件受到保护。

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

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