<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
上次使用 Chatgpt 寫爬蟲,雖然寫出來的程式碼很多需要修改後才能執行,但Chatgpt提供的思路和框架都是沒問題。
這次讓 Chatgpt 寫一寫GUI程式,也就是你常看到的桌面圖形程式。
由於第一次測試,就來個簡單點的,用Python寫用來加減乘除的計算器。
提問:請用Python寫一個計算器GUI程式
(程式碼過長,就不完全展示了)
它告訴我,可以使用Python的tkinter庫來實現簡單的GUI,這確實是最快捷的方法。
程式碼執行出來是一個很簡答的計算器程式,沒有什麼UI設計可言。
用起來也沒什麼毛病,但似乎外觀上應該更好看點。
iPhone手機的計算器APP是集美貌、簡潔、方便、功效於一體的計算器代表作。
於是我問:幫我優化下這個計算器的UI介面 類似iphone計算器風格。
ChatGPT:
這次程式碼居然沒有完整展現出來,Chatgpt生成到一半自動斷了,也不知道什麼原因。
我又問它:請寫完後半部分。
ChatGPT:
最後它補充道
這段程式碼實現了以下功能:
1、建立計算器 GUI 的主要介面,包括數位按鈕和文字方塊;
2、對數位按鈕和運運算元按鈕的點選事件進行響應,完成對方程的修改、計算和清空等操作;
3、實現了基本的錯誤處理功能。
你可以將這段程式碼儲存為 calculator.py,並在命令列中執行它,即可啟動這個計算器 GUI 程式。
經過優化後的程式碼,UI確實好看多了,類似iPhone計算器的風格,但美感上還差很多,功能也比較簡單。
附上完整程式碼(來自Chatgpt):
import tkinter as tk from tkinter import font class Calculator: def __init__(self, master): self.master = master master.title("Calculator") master.geometry("350x560") master.resizable(width=False, height=False) # 設定按鈕和文字方塊字型 self.button_font = font.Font(size=20) self.equation_font = font.Font(size=30) # 建立顯示方程的文字方塊 self.equation = tk.Entry(master, width=12, font=self.equation_font, borderwidth=0, justify=tk.RIGHT) self.equation.grid(row=0, column=0, columnspan=4, padx=10, pady=20, ipady=15) # 建立數位按鈕 self.create_button("C", 1, 0, bg="white", fg="black", width=4, height=2) self.create_button("±", 1, 1, bg="white", fg="black", width=4, height=2) self.create_button("%", 1, 2, bg="white", fg="black", width=4, height=2) self.create_button("÷", 1, 3, bg="#FF9500", fg="white", width=4, height=2) self.create_button("7", 2, 0, bg="#E4E4E4", fg="black") self.create_button("8", 2, 1, bg="#E4E4E4", fg="black") self.create_button("9", 2, 2, bg="#E4E4E4", fg="black") self.create_button("×", 2, 3, bg="#FF9500", fg="white", width=4, height=2) self.create_button("4", 3, 0, bg="#E4E4E4", fg="black") self.create_button("5", 3, 1, bg="#E4E4E4", fg="black") self.create_button("6", 3, 2, bg="#E4E4E4", fg="black") self.create_button("-", 3, 3, bg="#FF9500", fg="white", width=4, height=2) self.create_button("1", 4, 0, bg="#E4E4E4", fg="black") self.create_button("2", 4, 1, bg="#E4E4E4", fg="black") self.create_button("3", 4, 2, bg="#E4E4E4", fg="black") self.create_button("+", 4, 3, bg="#FF9500", fg="white", width=4, height=2) self.create_button("0", 5, 0, bg="#E4E4E4", fg="black", width=8) self.create_button(".", 5, 2, bg="#E4E4E4", fg="black") self.create_button("=", 5, 3, bg="#FF9500", fg="white", width=4, height=2) def create_button(self, text, row, column, bg="#F0F0F0", fg="black", width=2, height=1): # 建立按鈕 button = tk.Button(self.master, text=text, bg=bg, fg=fg, width=width, height=height, font=self.button_font, borderwidth=0, command=lambda: self.button_click(text)) button.grid(row=row, column=column, padx=5, pady=5, ipady=5, sticky="NSEW") def button_click(self, text): if text == "C": self.equation.delete(0, tk.END) elif text == "±": equation = self.equation.get() if equation.startswith("-"): self.equation.delete(0) self.equation.insert(0, equation[1:]) elif equation: self.equation.insert(0, "-") elif text == "%": equation = self.equation.get() try: result = float(equation) / 100 self.equation.delete(0, tk.END) self.equation.insert(0, result) except ValueError: pass elif text in ["+", "-", "×", "÷"]: if self.equation.get() and not self.equation.get().endswith(("+", "-", "×", "÷")): self.equation.insert(tk.END, text) elif text == ".": if self.equation.get() and "." not in self.equation.get(): self.equation.insert(tk.END, ".") elif not self.equation.get(): self.equation.insert(tk.END, "0.") elif text == "=": equation = self.equation.get() try: result = eval(equation) self.equation.delete(0, tk.END) self.equation.insert(0, result) except (SyntaxError, ZeroDivisionError): self.equation.delete(0, tk.END) self.equation.insert(0, "Error") else: self.equation.insert(tk.END, text) # 建立主視窗 root = tk.Tk() # 建立計算器 GUI calculator = Calculator(root) # 進入主事件迴圈 root.mainloop()
這段程式碼還有很多值得修改的地方,如果你有興趣可以試試。
到此這篇關於利用Chatgpt開發一款加減乘除計算器(Python程式碼實現)的文章就介紹到這了,更多相關Python Chatgpt計算器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援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