国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

tkinter制作一個(gè)簡(jiǎn)單計(jì)算器

這篇具有很好參考價(jià)值的文章主要介紹了tkinter制作一個(gè)簡(jiǎn)單計(jì)算器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

????????我們知道tkinter是python常用的UI框架,那么它是如何使用的呢?我們用一個(gè)簡(jiǎn)單的例子來顯示它的作用,制作一個(gè)簡(jiǎn)單的計(jì)算器,如下圖所示。

tkinter制作一個(gè)簡(jiǎn)單計(jì)算器

上圖是一個(gè)計(jì)算器,我們可以看出它一共有20個(gè)鍵,每個(gè)按鍵都表示一個(gè)功能,在最上方是一個(gè)文本框用來顯示數(shù)值。接下來我們簡(jiǎn)單演示兩個(gè)數(shù)相乘。

tkinter制作一個(gè)簡(jiǎn)單計(jì)算器

?從上圖計(jì)算結(jié)果,可以看出它簡(jiǎn)單地實(shí)現(xiàn)了兩數(shù)相乘功能。

?系統(tǒng)代碼:

#!/user/bin/env python3
# -*- coding: utf-8 -*-
# author:Forge ahead
from tkinter import *

win = Tk()
win.title('計(jì)算器')
win.geometry('260x300+500+100')
text = Text(win, width=30, height=1)
text.grid(row=0, column=0, columnspan=50)


def btn1_click():
    text.delete(1.0, 'end')


def btn2_click():
    text.insert('end', '%')


def btn3_click():
    str = text.get(1.0, 'end')
    text.delete(1.0, 'end')
    text.insert(INSERT, str[:-2])


# 判斷浮點(diǎn)數(shù)
def isFloatNum(str):
    s = str.split('.')
    if len(s) > 2:
        return False
    else:
        for si in s:
            if not si.isdigit():
                return False
        return True


# 計(jì)算
def calculate(str):
    global result
    for i in range(len(str)):
        if str[i] == '+' or str[i] == '-' or str[i] == 'x' or str[i] == '÷':
            a = i
            x = str[:a]
            y = str[a + 1:]
            if str[i] == '+':
                if x.isdigit() and y.isdigit():
                    result = int(x) + int(y)
                    break
                elif x.isdigit() and isFloatNum(y) == True:
                    result = '{:.2f}'.format(int(x) + float(y))
                    break
                elif isFloatNum(x) == True and y.isdigit():
                    result = '{:.2f}'.format(float(x) + int(y))
                    break
                elif isFloatNum(x) == True and isFloatNum(y) == True:
                    result = '{:.2f}'.format(float(x) + float(y))
                    break
            elif str[i] == '-':
                if x.isdigit() and y.isdigit():
                    result = int(x) - int(y)
                    break
                elif x.isdigit() and isFloatNum(y) == True:
                    result = '{:.2f}'.format(int(x) - float(y))
                    break
                elif isFloatNum(x) == True and y.isdigit():
                    result = '{:.2f}'.format(float(x) - int(y))
                    break
                elif isFloatNum(x) == True and isFloatNum(y) == True:
                    result = '{:.2f}'.format(float(x) - float(y))
                    break
            elif str[i] == 'x':
                if x.isdigit() and y.isdigit():
                    result = int(x) * int(y)
                    result=round(result,2)
                    break
                elif x.isdigit() and isFloatNum(y) == True:
                    result = '{:.2f}'.format(int(x) * float(y))
                    break
                elif isFloatNum(x) == True and y.isdigit():
                    result = '{:.2f}'.format(float(x) * int(y))
                    break
                elif isFloatNum(x) == True and isFloatNum(y) == True:
                    result = '{:.2f}'.format(float(x) * float(y))
                    break
            elif str[i] == '÷':
                if x.isdigit() and y.isdigit():
                    result = round(int(x) / int(y),2)
                    break
                elif x.isdigit() and isFloatNum(y) == True:
                    result = int(x) / float(y)
                    break
                elif isFloatNum(x) == True and y.isdigit():
                    result = float(x) / int(y)
                    break
                elif isFloatNum(x) == True and isFloatNum(y) == True:
                    result = float(x) / float(y)
                    break
        elif str[i] == '%':
            a = i
            x = str[:a]
            if x.isdigit():
                result = int(x) / 100
            elif isFloatNum(x):
                result = float(x) / 100
                break


def btn4_click():
    text.insert('end', '=')
    str = text.get(1.0, 'end')
    str = str[:-2]
    calculate(str)
    text.insert('end', result)


def btn5_click():
    text.insert('end', '1')


def btn6_click():
    text.insert('end', '2')


def btn7_click():
    text.insert('end', '3')


def btn8_click():
    text.insert('end', '+')


def btn9_click():
    text.insert('end', '4')


def btn10_click():
    text.insert('end', '5')


def btn11_click():
    text.insert('end', '6')


def btn12_click():
    text.insert('end', '-')


def btn13_click():
    text.insert('end', '7')


def btn14_click():
    text.insert('end', '8')


def btn15_click():
    text.insert('end', '9')


def btn16_click():
    text.insert('end', 'x')


def btn17_click():
    text.insert('end', '00')


def btn18_click():
    text.insert('end', '0')


def btn19_click():
    text.insert('end', '.')


def btn20_click():
    text.insert('end', '÷')


btn1 = Button(win, text='C', width=4, height=1, command=btn1_click)
btn1.grid(row=1, column=0)
btn2 = Button(win, text='%', width=4, height=1, command=btn2_click)
btn2.grid(row=1, column=1)
btn3 = Button(win, text='D', width=4, height=1, command=btn3_click)
btn3.grid(row=1, column=2)
btn4 = Button(win, text='=', width=4, height=1, command=btn4_click)
btn4.grid(row=1, column=3)
btn5 = Button(win, text='1', width=4, height=1, command=btn5_click)
btn5.grid(row=2, column=0)
btn6 = Button(win, text='2', width=4, height=1, command=btn6_click)
btn6.grid(row=2, column=1)
btn7 = Button(win, text='3', width=4, height=1, command=btn7_click)
btn7.grid(row=2, column=2)
btn8 = Button(win, text='+', width=4, height=1, command=btn8_click)
btn8.grid(row=2, column=3)
btn9 = Button(win, text='4', width=4, height=1, command=btn9_click)
btn9.grid(row=3, column=0)
btn10 = Button(win, text='5', width=4, height=1, command=btn10_click)
btn10.grid(row=3, column=1)
btn11 = Button(win, text='6', width=4, height=1, command=btn11_click)
btn11.grid(row=3, column=2)
btn12 = Button(win, text='-', width=4, height=1, command=btn12_click)
btn12.grid(row=3, column=3)
btn13 = Button(win, text='7', width=4, height=1, command=btn13_click)
btn13.grid(row=4, column=0)
btn14 = Button(win, text='8', width=4, height=1, command=btn14_click)
btn14.grid(row=4, column=1)
btn15 = Button(win, text='9', width=4, height=1, command=btn15_click)
btn15.grid(row=4, column=2)
btn16 = Button(win, text='x', width=4, height=1, command=btn16_click)
btn16.grid(row=4, column=3)
btn17 = Button(win, text='00', width=4, height=1, command=btn17_click)
btn17.grid(row=5, column=0)
btn18 = Button(win, text='0', width=4, height=1, command=btn18_click)
btn18.grid(row=5, column=1)
btn19 = Button(win, text='.', width=4, height=1, command=btn19_click)
btn19.grid(row=5, column=2)
btn20 = Button(win, text='÷', width=4, height=1, command=btn20_click)
btn20.grid(row=5, column=3)

win.mainloop()

????????但是系統(tǒng)還有一些細(xì)節(jié)部分沒有完全處理掉,如果哪位聰明地小伙伴發(fā)現(xiàn)了bug,可以私信我和我一起討論喲!文章來源地址http://www.zghlxwxcb.cn/news/detail-512794.html

到了這里,關(guān)于tkinter制作一個(gè)簡(jiǎn)單計(jì)算器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 制作一個(gè)簡(jiǎn)易的計(jì)算器app

    制作一個(gè)簡(jiǎn)易的計(jì)算器app

    github項(xiàng)目地址:https://github.com/13008451162/AndroidMoblieCalculator 筆者的Ui制作的制作的比較麻煩僅供參考,在這里使用了多個(gè)LinearLayout對(duì)屏幕進(jìn)行了劃分。不建議大家這樣做最好使用GridLayout會(huì)更加快捷簡(jiǎn)單 筆者大致劃分是這樣的: 使用了四個(gè)大框,在第四個(gè)大框里面有多個(gè)小框

    2024年02月15日
    瀏覽(32)
  • Qt 制作一個(gè)簡(jiǎn)易的計(jì)算器

    Qt 制作一個(gè)簡(jiǎn)易的計(jì)算器

    1.通過UI界面封裝出計(jì)算器的大致模型 進(jìn)入設(shè)計(jì)頁面后,左側(cè)會(huì)有各種控件,可以將他們拖拽到你想編輯的窗口中,我們要做的是計(jì)算器,所以只用到很少幾個(gè)控件,我們最主要用到Push Button這個(gè)控件來做我們計(jì)算器的按鈕,lineEdit顯示數(shù)字,我們可以將它拖拽到窗口,然后就

    2024年02月05日
    瀏覽(22)
  • python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    python界面開發(fā)案例:制作一個(gè)計(jì)算器軟件

    前言 大家早好、午好、晚好吖 ? ~歡迎光臨本文章 在我們手機(jī)上大家都有一個(gè)計(jì)算器,對(duì)吧 那它這功能是怎么實(shí)現(xiàn)的呢? 今天我們?cè)陔娔X上來實(shí)現(xiàn)一個(gè)電腦端計(jì)算器界面~ 開發(fā)環(huán)境: Python 3.8 / 編譯器 Pycharm 2021.2版本 / 編輯器 本文所有模塊環(huán)境源碼教程皆可點(diǎn)擊文章下方

    2023年04月16日
    瀏覽(101)
  • Java中規(guī)模軟件開發(fā)實(shí)訓(xùn)——簡(jiǎn)單計(jì)算器制作

    Java中規(guī)模軟件開發(fā)實(shí)訓(xùn)——簡(jiǎn)單計(jì)算器制作

    ? 博主: 命運(yùn)之光 ?? 專欄: Python星辰秘典 ?? 專欄: web開發(fā)(html css js) ?? 專欄: Java經(jīng)典程序設(shè)計(jì) ?? 博主的其他文章: 點(diǎn)擊進(jìn)入博主的主頁 前言: 在現(xiàn)代社會(huì)中,計(jì)算器是我們生活中不可或缺的工具之一。它們可以輕松地進(jìn)行各種數(shù)值計(jì)算,從簡(jiǎn)單的加減乘除

    2024年02月12日
    瀏覽(32)
  • 模擬實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器
  • 用代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器

    用代碼實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器

    作者主頁: paper jie的博客_CSDN博客-C語言,算法詳解領(lǐng)域博主 本文作者: 大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于 《C語言》專欄,本專欄是針對(duì)于大學(xué)生,編程小白精心打造的。筆者用重金(時(shí)間和精力)打造,將C語言基礎(chǔ)知識(shí)一網(wǎng)打盡,希望可

    2024年02月08日
    瀏覽(28)
  • 【Java GUI】用java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器的制作 項(xiàng)目(一)

    【Java GUI】用java實(shí)現(xiàn)簡(jiǎn)單計(jì)算器的制作 項(xiàng)目(一)

    目錄 正文 ? ? ? 項(xiàng)目前提 ? ?? 項(xiàng)目思路 ? ? ?項(xiàng)目實(shí)現(xiàn) 一:實(shí)現(xiàn)圖形化界面的設(shè)計(jì)? ? 二:關(guān)于按鈕監(jiān)聽及文本框展示的實(shí)現(xiàn) ? ? ? ? 三:表達(dá)式運(yùn)算的實(shí)現(xiàn) 四:完整代碼 作者的話 ? ? ? ? ?~掌握java基本語法 ? ? ? ? ~熟悉基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的運(yùn)用 ? ? ? ? ~了解Java Swin

    2024年02月05日
    瀏覽(20)
  • Java——一個(gè)簡(jiǎn)單的計(jì)算器程序

    Java——一個(gè)簡(jiǎn)單的計(jì)算器程序

    ? 該代碼是一個(gè)簡(jiǎn)單的計(jì)算器程序,使用了Java的圖形化界面庫Swing。具體分析如下: 導(dǎo)入必要的類和包: 代碼中導(dǎo)入了用于創(chuàng)建圖形界面的類和接口,以及其他必要的類。 定義Calculator類: 代碼中定義了一個(gè)名為Calculator的類,繼承了JFrame類,并實(shí)現(xiàn)了ActionListener接口。Calc

    2024年02月04日
    瀏覽(21)
  • 使用 JavaScript 創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器

    介紹: JavaScript 是一種廣泛應(yīng)用于網(wǎng)頁開發(fā)的腳本語言,它具有靈活、動(dòng)態(tài)和強(qiáng)大的特性。本文將演示如何使用 JavaScript 創(chuàng)建一個(gè)簡(jiǎn)單的計(jì)算器,并實(shí)現(xiàn)基本的加減乘除操作。 正文: javascript 解釋: 以上代碼是一個(gè)簡(jiǎn)單的 HTML 頁面,其中包括兩個(gè)輸入框和四個(gè)按鈕,用于實(shí)

    2024年02月03日
    瀏覽(30)
  • 使用C語言構(gòu)造一個(gè)簡(jiǎn)單計(jì)算器

    使用C語言構(gòu)造一個(gè)簡(jiǎn)單計(jì)算器

    本節(jié)我們用小學(xué)生知識(shí)來制作一個(gè)簡(jiǎn)單的計(jì)算器,可以運(yùn)算加,減,乘,除,以及余數(shù)的運(yùn)算。 在這節(jié)代碼中用到switch語句,因?yàn)橐斎脒\(yùn)算符,所以注意%c的對(duì)應(yīng) 接下來上代碼: 這里的話我們簡(jiǎn)單演示一下乘法的運(yùn)算: 如果用其他的計(jì)算符號(hào)直接更改即可,這里使用雙精

    2024年02月12日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包