<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
學習資料下載連結 提取碼: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") + "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多進位制轉換工具的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45