使用python實現一個簡單計算器

2021-01-07 葉子陪你玩編程

之前寫過一系列的tkinter庫控制項的使用方法以及tkinter的三種布局方法。

但是並沒有做過什麼實際的案例,主要原因是因為使用tikinter做界面比較麻煩,沒有可視化的設計來的快,就像我之前用的QT設計工具,就非常方便。

如果做一些簡單的界面,使用tkinter還是很方便的,畢竟是python自帶的庫。

今天將會做下面這樣的一個計算器,可以實現基本的加減程序的運算,整體代碼邏輯比較簡單,主要是一個回調函數的理解。

實現思路

1.UI界面布局

2.功能函數實現

3.重構布局代碼

4.按鈕回調函數綁定

具體實現過程

1.界面實現

實現基本窗口

創建父窗口app,設置幾何尺寸400x400,設置標題,最後循環就實現最簡單的框架了。

添加控制項

控制項這裡主要標籤和按鈕,先來看添加一個標籤和一個按鈕。

裡面的控制項屬性都是為了讓控制項顯示在正好的位置,添加兩個控制項還是很簡單的,但是我們有很多控制項,如果還是用上面的方法就會非常麻煩,通過觀察可以知道,每個按鈕除了位置和按鈕的文字不一樣,其它都是一模一樣的,所以這裡我們可以使用循環來設置。

2.按鈕功能函數的實現

界面實現了,接下來就是實現計算器的功能。

功能1:按下數字和運算符按鈕,按鈕的文字內容顯示到標籤。

功能2:按下清空按鈕,將標籤的內容全部置空刪除。

功能3:按下退格按鈕,標籤往回刪除一個內容。

功能4:按下等於按鈕直接計算結果並顯示在標籤區。

先創建也給display變量,用來表示label的字符內容。set_content是實現功能1的,當我們按下某個按鈕,就將按鈕值傳遞給這個方法,這個方法會先通過display.get獲取當前標籤的內容,然後和text拼接到一起,最後重新放在到標籤裡面。

按下清空按鈕就調用clear方法,直接將標籤內容設為空;

按下退格就是先獲取當前的標籤內容,然後通過切片的方式獲取除掉最後一個字符的內容,最後將當前內容傳遞給display,從而實現退格效果。

等於按鈕按下就調用calculate方法,先獲取當前標籤的內容,通過eval方法計算結果,最後將算式和結果拼接成一個字符串返回給label顯示,過程中如果出現錯誤異常,就顯示error。

3.更改按鈕布局的代碼

方法都定義好了,但是按鈕都是循環實現的,如果直接綁定回調函數肯定不行,因為只能綁定一個,根據上面的功能,按鈕要分為4類。所以這裡在循環顯示按鈕的時候進行分類,為之後綁定不同方法做準備,具體更改完代碼如下。

4.按鈕綁定回調函數實現功能

最後給不同類型按鈕綁定上對應方法即可。等於,清空,退格都比較好理解,直接綁定方法,而功能1的數值和運算符號的相對複雜一定,因為回調需要傳遞參數,但是一般的寫法是無法傳遞參數的,所以這裡通過匿名函數構建了一個新函數,把之前的函數作為匿名函數表達式,這樣就可以傳遞參數了。

大功告成。

動圖效果

(全文完)

聊天功能具體實現過程

致富與槓桿你了解嗎?

python群聊工具實現(上)

python滑鼠連點器-測試版

相關焦點

  • python入門教程NO.8 用python寫個存款利息計算器
    本文涉及的python基礎語法為def函數,return,函數的各參數示例,匿名函數等函數初識函數是一段組織好的\ 可重複使用的\ 用來實現特定功能的代碼塊。Python 中的函數以英文冒號開始,並且需要縮進,以表示接下來是函數內部的代碼了a = a + x和return a為函數的函數體,這部分就是函數的功能實現和輸出返回值的地方return [表達式]結束函數,並將a的值返回給調用方。
  • Python數學運算入門把Python當作計算器
    (It shouldn’t take long.)讓我們嘗試一些簡單的Python命令。啟動解釋器並等待主提示符> > >。(這不需要很長時間。)For example: 解釋器充當一個簡單的計算器:您可以在其上鍵入算術表達式,python計算出相應的結果。表達式語法很簡單:運算符+、-、*和/大多數其他語言(例如,Pascal或C)一樣;括號()可以用於分組。
  • 50行python代碼寫個計算器教程
    案例展示計算器.gif你能學到input 用戶輸入print輸出tkinter圖形界面python運算符號基礎知識準備運算符號數字運算,求和我們使用了加號 (+)運算符,除此外,還有 減號 (-), 乘號 (*), 除號 (/), 地板除 (//) 或 取餘 (%)。
  • 如何使用MSP430單片機實現簡易計算器的設計
    本文介紹了一種基於MSP430單片機的簡易電子計算器設計。基於MSP430單片機的簡易電子計算器設計具有體積小、便於攜帶、應用方便、組成元器件少、製造成本低等優點。MSP430單片機具有的超低功耗、硬體浮點數運算等功能使得簡易電子計算器設計簡單、計算能力強,有著廣闊的發展前景。
  • Python編程教你做一個簡單的計算器
    今天我們一起來製作一個的簡易計算器,它可以實現輸入兩個數字,輸入一個符號就可以計算出兩個數字的結果。聽起來是不是還是很有興趣呢!來吧,讓我們一起來看看!首先需要從鍵盤輸入兩個數字和運算符號。這樣一個計算器就寫好了呢!,小朋友們可以根據自己的邏輯寫出相對應的輸出提示語!去完善它一下吧!
  • Python 命令行之旅:使用 docopt 實現 git 命令
    按照慣例,我們要像使用 argparse 一樣使用 docopt 來實現 git 命令。為了讓沒讀過 使用 argparse 實現 git 命令 的小夥伴也能讀明白本文,我們仍會對 git 常用命令和 gitpython 做一個簡單介紹。本系列文章默認使用 Python 3 作為解釋器進行講解。
  • 如何製作一個計算器?你只需要用50行Python代碼就可以解決
    簡介在這篇文章中,我將向大家演示怎樣向一個通用計算器一樣解析並計算一個四則運算表達式。當我們結束的時候,我們將得到一個可以處理諸如 1+2*-(-3+2)/5.6+3樣式的表達式的計算器了。本篇文章需要對python的繼承使用有所了解。
  • python熱力圖實現簡單方法
    在本篇內容裡小編給大家分享的是一篇關於python熱力圖實現簡單方法,對此有興趣的朋友們可以學習下。
  • Python 探針實現原理
    同時為了驗證這個原理,我們也會一起來實現一個簡單的統計指定函數執行時間的探針程序。探針的實現主要涉及以下幾個知識點:sys.meta_pathsys.meta_path 這個簡單的來說就是可以實現 import hook 的功能, 當執行 import 相關的操作時,會觸發 sys.meta_path 列表中定義的對象。
  • Python如何實現超長整數
    為了在將內存分配給數組ob_digit時更高效,python進行了過度提供,然後依賴於ob_size的值來確定數組中所包含的元素的實際數量。存儲一種簡單的按數位順序存儲整數的方法是在數組的一項中存儲一個十進位數,然後像小學數學那樣執行加法和減法運算。
  • 使用Python下載文件的簡單示例
    讓我們創建一個簡單的函數,將響應以塊的形式發送到文件:def url_response(url):path, url = urlr = requests.get(url, stream = True)with
  • 用 Python 編寫簡單的 gRPC 服務
    這裡寫個簡單的Python gRPC示例,能實現加法和乘法的計算器:版本信息:Python 3.6.8grpcio 1.25.0grpcio-tools 1.25.0nginx version: nginx/1.14.0開始環境準備安裝gRPC相關的庫,grpcio-tools
  • 10道題教你使用python Django框架來實現web應用,值得收藏
    我簡單說一下我的理解。django WSGI是單線程的,就是說一個請求處理完了才能響應另一個請求。uWSGI(C語言書寫)+Django相比與單獨使用Django,通過多進程,發揮多核的優勢,支持的並發量更高。
  • python實現兩個數的對調
    在Java中我們一般都是使用一個臨時變量,首先將A的值賦給臨時變量Temp,然後將B的值賦給A,再將臨時變量的值賦給B,這樣就實現了A和B的值互換。那麼在python中是如何來實現兩個數的互換的呢python實現兩數互換1.臨時變量思想和Java的實現思想一樣,也是使用臨時變量法,這種思想是很容易理解的。
  • 考注會買什麼科學計算器好?各類計算器怎麼使用?
    轉眼距離2020年注會考試還有五個月的時間,在這之間我們要先對計算器有個基本的了解,大家都知道注會考試中財管科目計算會比較多,所以為了大家能夠在考試中熟練的使用計算器,現在就可以準備起來了,提前熟悉計算量的使用方式,選擇計算器也是有講究的,那麼,考注會買什麼科學計算器好?
  • 15課python快遞編程代碼人Python語法簡單才會越來越被編程界歡迎
    這節課,我們做一個閃電快遞配送的項目, 用來解決快遞配送的人員與送貨量的配比問題。這次開發實用程序的流程和上次是一模一樣。接下來,我們一步一步來實現這個項目。明確項目目的先來看一下項目需求:看完了項目需求,那個快遞老闆朋友又來了。
  • 在線計算器_科學計算器在線使用_智能計算器在線計算-閩南網
    計算器使用方法計算器包括標準型和科學型兩種,其中標準型使用方法如下:1、鍵入數字時,按下相應的數字鍵,如果按錯可用(CE)鍵消去一次數值,再重新輸入正確的數字。2、直接輸入數字後,按下乘號將它變為乘數,在不輸入被乘數的情況下直接按(=)鍵,就是該數字的二次方值。
  • Python3.9官方文檔翻譯版python簡介之數字
    在python中注釋是以#開頭並延續到本行結束。一個注釋通常出現在一行的開頭或者接下來的物理行或代碼結尾,但不能出現在字符串中。出現在字符串中的」#」僅僅是一個字符。由於注釋是解釋代碼功能,所以它並不能被python進行編譯使用,在輸入示例中時也可以不輸入它們。
  • Python語言之Python探針實現原理
    探針的實現主要涉及以下幾個知識點:sys.meta_pathsitecustomize.pysys.meta_pathsys.meta_path這個簡單的來說就是可以實現 import hooksys.meta_path 中的對象需要實現一個 find_module 方法, 這個 find_module 方法返回 None 或一個實現了 load_module 方法的對象 (代碼可以從 github 上下載 part1) :import sysclass MetaPathFinder:    def find_module(self, fullname
  • 實用小工具(python or php實現)
    題圖:from Zoommy前兩天有個朋友說,想實現一個文本文件按照固定行數進行分割成多個文本文件,卻不知如何實現。