日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

50行python代码写个计算器教程

發(fā)布時(shí)間:2023/12/20 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 50行python代码写个计算器教程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

案例展示

計(jì)算器.gif

你能學(xué)到

  • input 用戶輸入

  • print輸出

  • tkinter圖形界面

  • python運(yùn)算符號(hào)

基礎(chǔ)知識(shí)準(zhǔn)備

運(yùn)算符號(hào)

數(shù)字運(yùn)算,求和我們使用了加號(hào) (+)運(yùn)算符,除此外,還有 減號(hào) (-), 乘號(hào) (*), 除號(hào) (/), 地板除 (//) 或 取余 (%)。

input輸入

在python中咱們用input來(lái)獲取用輸入的內(nèi)容,
默認(rèn)input只能獲取文本,想要轉(zhuǎn)換為數(shù)字需要用int函數(shù)把字符串轉(zhuǎn)換為字符

輸出

我們?cè)趐ython3中用print方法輸出

tkinter圖形界面

Tkinter 是 Python 的標(biāo)準(zhǔn) GUI 庫(kù)。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。
由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫(kù)、而且 IDLE 也是用 Tkinter 編寫而成、對(duì)于簡(jiǎn)單的圖形界面 Tkinter 還是能應(yīng)付自如。

基礎(chǔ)版本

案例展示

計(jì)算器簡(jiǎn)易版.gif #?打印標(biāo)題 print("簡(jiǎn)易計(jì)算器")#?通過(guò)用戶輸入獲取運(yùn)算的第一個(gè)數(shù) num1?=?int(input("輸入第一個(gè)數(shù)字:?")) #?通過(guò)用戶輸入獲取運(yùn)算的第二個(gè)數(shù) #?默認(rèn)是字符串需要用int把字符轉(zhuǎn)換為數(shù)組 num2?=?int(input("輸入第二個(gè)數(shù)字:?"))#?提示用戶輸入運(yùn)算符 print("輸入運(yùn)算:1、相加;2、相減;3、相乘;4、相除")#?獲取用戶輸入的運(yùn)算符號(hào) 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提示輸入的時(shí)候,用戶需要在電腦鍵盤輸入數(shù)字

  • 我們通過(guò)用int方法把輸入的數(shù)字轉(zhuǎn)換為真正的數(shù)字(默認(rèn)是像數(shù)字的字符)

  • 根據(jù)choice的不同來(lái)選擇輸出不同的內(nèi)容

  • 在程序的世界 除用/ ,乘 用* 來(lái)表示

  • 極簡(jiǎn)版本

    極簡(jiǎn)版本 #?獲取用戶輸入的運(yùn)算式如:5+5 str?=?input("請(qǐng)輸入你的運(yùn)算式:")#?eval函數(shù)把字符串當(dāng)代碼執(zhí)行 #?print?打印輸出執(zhí)行的結(jié)果 print(eval(str))

    注意:

  • input獲取的內(nèi)容為文本

  • eval 可以把任意的字符串當(dāng)做python執(zhí)行

  • 如果需要程序一直都運(yùn)行我們只需要把代碼放入while循環(huán)就可

    while?True:str?=?input("請(qǐng)輸入你的運(yùn)算式:")print(eval(str))

    注意:

  • True 的T 字母是大寫

  • str與print函數(shù)前面有四個(gè)空格,或者一個(gè)Tab縮進(jìn)

  • 計(jì)算器(有界面)

    計(jì)算器.gif #?導(dǎo)入tkineter庫(kù) import?tkinter#?獲取一個(gè)窗口 window?=?tkinter.Tk() #?設(shè)置標(biāo)題 window.title('計(jì)算器') #?設(shè)置窗口大小 window.geometry('200x200')#?輸入方法 def?add(n):#?獲取到n1文本框的值n1?=?inp.get()#?清空文本框inp.delete(0,len(n1))#?插入原來(lái)的加上新輸入?yún)?shù)ninp.insert(0,n1+str(n))#?執(zhí)行計(jì)算方法 def?calc():n1?=?inp.get()??inp.delete(0,len(n1))#?把文本框的字符串用eval當(dāng)代碼執(zhí)行一次,再插入到文本框inp.insert(0,str(eval(n1)))#?清空文本框 def?clear():n1?=?inp.get()??inp.delete(0,len(n1))#?刪除最后一個(gè)字符 def?back():n1?=?inp.get()??inp.delete(len(n1)-1,len(n1))#?計(jì)算絕對(duì)值 def?ab():n1?=?inp.get()??inp.delete(0,len(n1))inp.insert(0,str(eval(n1)*-1))#?設(shè)置一個(gè)文本框 inp?=?tkinter.Entry(window,?width=25) #?在第0行,第0個(gè),合并5列 inp.grid(row=0,column=0,columnspan=5)#?用for循環(huán)?創(chuàng)建?123?456?789?9個(gè)按鈕 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) #?刪除按鈕(窗口,寬度,文本,執(zhí)行命令).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)#?刪除按鈕(窗口,寬度,文本,背景色,文本顏色,執(zhí)行命令并傳入?yún)?shù)).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)#?進(jìn)入消息循環(huán) window.mainloop()

    注意

  • eval 把字符串當(dāng)python代碼執(zhí)行

  • len() 方法計(jì)算字符串長(zhǎng)度

  • inp.get()獲取到文本框的值

  • inp.delete(start,end)刪除文本框的字符從start個(gè)刪除到end個(gè)

  • inp.insert(start,str)插入文本框字符 從start插入str字符

  • - EOF -

    推薦閱讀??點(diǎn)擊標(biāo)題可跳轉(zhuǎn)

    ★Python100行-貪吃蛇小游戲

    用VScode愉快的寫python代碼

    用python打包exe應(yīng)用程序-PyInstaller

    ★教你用Python畫了一棵圣誕樹(shù)

    20行python代碼的入門級(jí)小游戲

    10行python代碼做出哪些酷炫的事情?

    一行Python代碼能做出哪些神器的事情

    都來(lái)到這了,拜托拜托點(diǎn)個(gè)贊

    總結(jié)

    以上是生活随笔為你收集整理的50行python代码写个计算器教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。