50行python代码写个计算器教程
案例展示
計算器.gif你能學到
-
input 用戶輸入
-
print輸出
-
tkinter圖形界面
-
python運算符號
基礎知識準備
運算符號
數字運算,求和我們使用了加號 (+)運算符,除此外,還有 減號 (-), 乘號 (*), 除號 (/), 地板除 (//) 或 取余 (%)。
input輸入
在python中咱們用input來獲取用輸入的內容,
默認input只能獲取文本,想要轉換為數字需要用int函數把字符串轉換為字符
輸出
我們在python3中用print方法輸出
tkinter圖形界面
Tkinter 是 Python 的標準 GUI 庫。Python 使用 Tkinter 可以快速的創建 GUI 應用程序。
由于 Tkinter 是內置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫、而且 IDLE 也是用 Tkinter 編寫而成、對于簡單的圖形界面 Tkinter 還是能應付自如。
基礎版本
案例展示
計算器簡易版.gif #?打印標題 print("簡易計算器")#?通過用戶輸入獲取運算的第一個數 num1?=?int(input("輸入第一個數字:?")) #?通過用戶輸入獲取運算的第二個數 #?默認是字符串需要用int把字符轉換為數組 num2?=?int(input("輸入第二個數字:?"))#?提示用戶輸入運算符 print("輸入運算:1、相加;2、相減;3、相乘;4、相除")#?獲取用戶輸入的運算符號 choice?=?input("輸入你的選擇(1/2/3/4):")#?如果是1 if?choice?==?'1':print(num1,"+",num2,"=",?num1+num2) #?如果2 elif?choice?==?'2':print(num1,"-",num2,"=",?num1-num2)? elif?choice?==?'3':print(num1,"×",num2,"=",?num1*num2)? elif?choice?==?'4':print(num1,"÷",num2,"=",?num1/num2) #?其他都是非法的 else:print("非法輸入")特別注意:
input提示輸入的時候,用戶需要在電腦鍵盤輸入數字
我們通過用int方法把輸入的數字轉換為真正的數字(默認是像數字的字符)
根據choice的不同來選擇輸出不同的內容
在程序的世界 除用/ ,乘 用* 來表示
極簡版本
極簡版本 #?獲取用戶輸入的運算式如:5+5 str?=?input("請輸入你的運算式:")#?eval函數把字符串當代碼執行 #?print?打印輸出執行的結果 print(eval(str))注意:
input獲取的內容為文本
eval 可以把任意的字符串當做python執行
如果需要程序一直都運行我們只需要把代碼放入while循環就可
while?True:str?=?input("請輸入你的運算式:")print(eval(str))注意:
True 的T 字母是大寫
str與print函數前面有四個空格,或者一個Tab縮進
計算器(有界面)
計算器.gif #?導入tkineter庫 import?tkinter#?獲取一個窗口 window?=?tkinter.Tk() #?設置標題 window.title('計算器') #?設置窗口大小 window.geometry('200x200')#?輸入方法 def?add(n):#?獲取到n1文本框的值n1?=?inp.get()#?清空文本框inp.delete(0,len(n1))#?插入原來的加上新輸入參數ninp.insert(0,n1+str(n))#?執行計算方法 def?calc():n1?=?inp.get()??inp.delete(0,len(n1))#?把文本框的字符串用eval當代碼執行一次,再插入到文本框inp.insert(0,str(eval(n1)))#?清空文本框 def?clear():n1?=?inp.get()??inp.delete(0,len(n1))#?刪除最后一個字符 def?back():n1?=?inp.get()??inp.delete(len(n1)-1,len(n1))#?計算絕對值 def?ab():n1?=?inp.get()??inp.delete(0,len(n1))inp.insert(0,str(eval(n1)*-1))#?設置一個文本框 inp?=?tkinter.Entry(window,?width=25) #?在第0行,第0個,合并5列 inp.grid(row=0,column=0,columnspan=5)#?用for循環?創建?123?456?789?9個按鈕 for?i?in?range(0,3):for?j?in?range(1,4):n?=?j+i*3btn=tkinter.Button(window,?text=str(j+i*3),width=5,?command=lambda?n=n:add(n))btn.grid(row=i+2,column=j-1) #?刪除按鈕(窗口,寬度,文本,執行命令).grid(1行,0列) tkinter.Button(window,width=5,?text="C",?command=clear).grid(row=1,column=0) tkinter.Button(window,width=5,?text="←",?command=back).grid(row=1,column=1) tkinter.Button(window,width=5,?text="+/-",?command=ab).grid(row=1,column=2)#?刪除按鈕(窗口,寬度,文本,背景色,文本顏色,執行命令并傳入參數).grid(1行,4列) tkinter.Button(window,width=5,?text="+",bg="#f70",fg="#fff",command=lambda:add("+")).grid(row=1,column=4) tkinter.Button(window,width=5,?text="-",?bg="#f70",fg="#fff",command=lambda:add("-")).grid(row=2,column=4) tkinter.Button(window,width=5,?text="×",bg="#f70",fg="#fff",command=lambda:add("*")).grid(row=3,column=4) tkinter.Button(window,width=5,?text="÷",bg="#f70",fg="#fff",command=lambda:add("/")).grid(row=4,column=4) tkinter.Button(window,width=12,text="0",?command=lambda:add("0")).grid(row=5,column=0,columnspan=2) tkinter.Button(window,width=5,text="=",?bg="#f70",fg="#fff",command=calc).grid(row=5,column=4) tkinter.Button(window,width=5,?text=".",?command=lambda:add(".")).grid(row=5,column=2)#?進入消息循環 window.mainloop()注意
eval 把字符串當python代碼執行
len() 方法計算字符串長度
inp.get()獲取到文本框的值
inp.delete(start,end)刪除文本框的字符從start個刪除到end個
inp.insert(start,str)插入文本框字符 從start插入str字符
- EOF -
推薦閱讀??點擊標題可跳轉
★Python100行-貪吃蛇小游戲
用VScode愉快的寫python代碼
用python打包exe應用程序-PyInstaller
★教你用Python畫了一棵圣誕樹
20行python代碼的入門級小游戲
10行python代碼做出哪些酷炫的事情?
一行Python代碼能做出哪些神器的事情
都來到這了,拜托拜托點個贊
總結
以上是生活随笔為你收集整理的50行python代码写个计算器教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: codeforces 303 div2
- 下一篇: Convert Windows 32bi