最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Chatgpt開發(fā)一款加減乘除計(jì)算器(Python代碼實(shí)現(xiàn))

 更新時(shí)間:2023年08月09日 16:00:44   作者:Python數(shù)據(jù)開發(fā)  
這篇文章主要為大家詳細(xì)介紹了如何利用Chatgpt開發(fā)一款加減乘除計(jì)算器(用Python代碼實(shí)現(xiàn)),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下

上次使用 Chatgpt 寫爬蟲,雖然寫出來的代碼很多需要修改后才能運(yùn)行,但Chatgpt提供的思路和框架都是沒問題。

這次讓 Chatgpt 寫一寫GUI程序,也就是你??吹降淖烂鎴D形程序。

由于第一次測試,就來個(gè)簡單點(diǎn)的,用Python寫用來加減乘除的計(jì)算器。

提問:請用Python寫一個(gè)計(jì)算器GUI程序

(代碼過長,就不完全展示了)

它告訴我,可以使用Python的tkinter庫來實(shí)現(xiàn)簡單的GUI,這確實(shí)是最快捷的方法。

代碼執(zhí)行出來是一個(gè)很簡答的計(jì)算器程序,沒有什么UI設(shè)計(jì)可言。

用起來也沒什么毛病,但似乎外觀上應(yīng)該更好看點(diǎn)。

iPhone手機(jī)的計(jì)算器APP是集美貌、簡潔、方便、功效于一體的計(jì)算器代表作。

于是我問:幫我優(yōu)化下這個(gè)計(jì)算器的UI界面 類似iphone計(jì)算器風(fēng)格。

ChatGPT:

這次代碼居然沒有完整展現(xiàn)出來,Chatgpt生成到一半自動斷了,也不知道什么原因。

我又問它:請寫完后半部分。

ChatGPT:

最后它補(bǔ)充道

這段代碼實(shí)現(xiàn)了以下功能:

1、創(chuàng)建計(jì)算器 GUI 的主要界面,包括數(shù)字按鈕和文本框;
2、對數(shù)字按鈕和運(yùn)算符按鈕的點(diǎn)擊事件進(jìn)行響應(yīng),完成對方程的修改、計(jì)算和清空等操作;
3、實(shí)現(xiàn)了基本的錯(cuò)誤處理功能。

你可以將這段代碼保存為 calculator.py,并在命令行中運(yùn)行它,即可啟動這個(gè)計(jì)算器 GUI 程序。

經(jīng)過優(yōu)化后的代碼,UI確實(shí)好看多了,類似iPhone計(jì)算器的風(fēng)格,但美感上還差很多,功能也比較簡單。

附上完整代碼(來自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)

        # 設(shè)置按鈕和文本框字體
        self.button_font = font.Font(size=20)
        self.equation_font = font.Font(size=30)

        # 創(chuàng)建顯示方程的文本框
        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)

        # 創(chuàng)建數(shù)字按鈕
        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):
        # 創(chuàng)建按鈕
        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)

# 創(chuàng)建主窗口
root = tk.Tk()

# 創(chuàng)建計(jì)算器 GUI
calculator = Calculator(root)

# 進(jìn)入主事件循環(huán)
root.mainloop()

這段代碼還有很多值得修改的地方,如果你有興趣可以試試。

到此這篇關(guān)于利用Chatgpt開發(fā)一款加減乘除計(jì)算器(Python代碼實(shí)現(xiàn))的文章就介紹到這了,更多相關(guān)Python Chatgpt計(jì)算器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python pandas DataFrame操作的實(shí)現(xiàn)代碼

    Python pandas DataFrame操作的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Python pandas DataFrame操作的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-06-06
  • python中return不返回值的問題解析

    python中return不返回值的問題解析

    在本篇文章里小編給各位分享的是一篇關(guān)于python中return不返回值的問題解析,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • Mac 上切換Python多版本

    Mac 上切換Python多版本

    Mac上自帶了Python2.x的版本,有時(shí)需要使用Python3.x版本做開發(fā),但不能刪了Python2.x,可能引起系統(tǒng)不穩(wěn)定,那么就需要安裝多個(gè)版本的Python下面通過本文給大家介紹Mac 上切換Python多版本的方法,需要的的朋友一起看看吧
    2017-06-06
  • pandas 實(shí)現(xiàn)將重復(fù)表格去重,并重新轉(zhuǎn)換為表格的方法

    pandas 實(shí)現(xiàn)將重復(fù)表格去重,并重新轉(zhuǎn)換為表格的方法

    下面小編就為大家分享一篇pandas 實(shí)現(xiàn)將重復(fù)表格去重,并重新轉(zhuǎn)換為表格的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python 五子棋如何獲得鼠標(biāo)點(diǎn)擊坐標(biāo)

    python 五子棋如何獲得鼠標(biāo)點(diǎn)擊坐標(biāo)

    這篇文章主要介紹了python 五子棋如何獲得鼠標(biāo)點(diǎn)擊坐標(biāo),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法

    利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法

    本篇文章主要介紹了利用TensorFlow訓(xùn)練簡單的二分類神經(jīng)網(wǎng)絡(luò)模型的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 跟老齊學(xué)Python之大話題小函數(shù)(2)

    跟老齊學(xué)Python之大話題小函數(shù)(2)

    上篇文章我們講訴了map 和lambda函數(shù)的使用,本文我們繼續(xù)來看看reduce和filter函數(shù),有需要的朋友可以參考下
    2014-10-10
  • 舉例詳解Python中threading模塊的幾個(gè)常用方法

    舉例詳解Python中threading模塊的幾個(gè)常用方法

    這篇文章主要介紹了舉例詳解Python中threading模塊的幾個(gè)常用方法,threading模塊用來創(chuàng)建和操作線程,是Python學(xué)習(xí)當(dāng)中的重要知識,需要的朋友可以參考下
    2015-06-06
  • Tensorflow中批量讀取數(shù)據(jù)的案列分析及TFRecord文件的打包與讀取

    Tensorflow中批量讀取數(shù)據(jù)的案列分析及TFRecord文件的打包與讀取

    這篇文章主要介紹了Tensorflow中批量讀取數(shù)據(jù)的案列分析及TFRecord文件的打包與讀取,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python計(jì)算日期之間的放假日期

    python計(jì)算日期之間的放假日期

    這篇文章主要為大家詳細(xì)介紹了python計(jì)算日期之間的放假日期,實(shí)現(xiàn)自動查詢節(jié)日,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論

威宁| 延津县| 阿拉善左旗| 乳山市| 洛川县| 江门市| 阿荣旗| 隆林| 改则县| 寻甸| 乌鲁木齐县| 江阴市| 新邵县| 成都市| 南昌县| 潢川县| 涟源市| 武宣县| 陕西省| 桃江县| 邵东县| 黄冈市| 临湘市| 绥中县| 察哈| 石城县| 柘荣县| 休宁县| 若羌县| 大姚县| 和平县| 赣榆县| 肃北| 绥德县| 兴安盟| 来凤县| 望江县| 宁强县| 玉环县| 黄大仙区| 新邵县|