进制转换课件,进制转换程序代码
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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。