欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python雙版本計算器詳解

 更新時間:2021年04月19日 14:19:04   作者:啥也不是:)  
這篇文章主要介紹了如何用Python制作計算器,文章中有兩個版本,代碼詳細,適合絕大部分朋友,如果你對python如何制作計算器有興趣,可以參考下這篇文章

有框計算器

這個計算器我們用到了Python自帶的Tkinter庫

# 導入tkinter庫
import tkinter

我們要對窗口進行一些基本操作

# 獲取一個窗口
window = tkinter.Tk()
# 設置標題
window.title('計算器')
# 設置窗口大小
window.geometry('200x200')

接著用函數(shù)定義一個輸入方法

輸入方法

# 輸入方法
def add(n):
    # 獲取到n1文本框的值
    n1 = inp.get()
    # 清空文本框
    inp.delete(0,len(n1))
    # 插入原來的加上新輸入參數(shù)n
    inp.insert(0,n1+str(n))

再用函數(shù)定義一個計算方法

計算方法

# 執(zhí)行計算方法
def calc():
    n1 = inp.get()  
    inp.delete(0,len(n1))
    # 把文本框的字符串用eval當代碼執(zhí)行一次,再插入到文本框
    inp.insert(0,str(eval(n1)))

完成后還需要把文本框給清除,我們還是用函數(shù)

清除文本框方法

# 清空文本框
def clear():
    n1 = inp.get()  
    inp.delete(0,len(n1))

清空文本框后還會留下一個字符,我們需要刪除最后一個字符,仍然用函數(shù)

刪除最后一個字符方法

# 刪除最后一個字符
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)

再制作一些功能按鈕

功能按鈕

# 刪除按鈕(窗口,寬度,文本,執(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í)行命令并傳入參數(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)

最后,我們發(fā)現(xiàn)還沒有 123 456 789 9個按鈕,我們就用for循環(huán)創(chuàng)建

把代碼加到

# 設置一個文本框
inp = tkinter.Entry(window, width=25)
# 在第0行,第0個,合并5列
inp.grid(row=0,column=0,columnspan=5)

的下面

9個按鈕

# 設置一個文本框
inp = tkinter.Entry(window, width=25)
# 在第0行,第0個,合并5列
inp.grid(row=0,column=0,columnspan=5)
# 用for循環(huán) 創(chuàng)建 123 456 789 9個按鈕
for i in range(0,3):
    for j in range(1,4):
      n = j+i*3
      btn=tkinter.Button(window, text=str(j+i*3),width=5, command=lambda n=n:add(n))
      btn.grid(row=i+2,column=j-1)

一個有框的計算器就做好了,完整代碼請看文章末尾

命令行計算器

這個計算器的代碼很短,很快就能學會

首先獲取第一個數(shù)與第二個數(shù)

獲取數(shù)

# 通過用戶輸入獲取運算的第一個數(shù)
num1 = int(input("輸入第一個數(shù)字: "))
# 通過用戶輸入獲取運算的第二個數(shù)
# 默認是字符串需要用int把字符轉換為數(shù)組
num2 = int(input("輸入第二個數(shù)字: "))
# 提示用戶輸入運算符

我們還得添加while True來保證代碼重復執(zhí)行,否則計算器無法運算多次

在前面加上while True

while True:
	# 通過用戶輸入獲取運算的第一個數(shù)
	num1 = int(input("輸入第一個數(shù)字: "))
	# 通過用戶輸入獲取運算的第二個數(shù)
	# 默認是字符串需要用int把字符轉換為數(shù)組
	num2 = int(input("輸入第二個數(shù)字: "))
	# 提示用戶輸入運算符

這樣就能重復了

接著獲取運算方法

運算方法

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)

再把他們橋接到加法的下面

橋接

while True:
	# 通過用戶輸入獲取運算的第一個數(shù)
	num1 = int(input("輸入第一個數(shù)字: "))
	# 通過用戶輸入獲取運算的第二個數(shù)
	# 默認是字符串需要用int把字符轉換為數(shù)組
	num2 = int(input("輸入第二個數(shù)字: "))
	# 提示用戶輸入運算符
	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,否則輸出將會出錯

else

# 其他都是非法的
else:
	print("非法輸入")

最后的最后我們把else加到上面一部分的下面

橋接2

while True:
	# 通過用戶輸入獲取運算的第一個數(shù)
	num1 = int(input("輸入第一個數(shù)字: "))
	# 通過用戶輸入獲取運算的第二個數(shù)
	# 默認是字符串需要用int把字符轉換為數(shù)組
	num2 = int(input("輸入第二個數(shù)字: "))
	# 提示用戶輸入運算符
	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("非法輸入")

兩個計算器都介紹完畢了,接下來是完整代碼

完整代碼

有框計算器

# 導入tkinter庫
import tkinter
# 獲取一個窗口
window = tkinter.Tk()
# 設置標題
window.title('計算器')
# 設置窗口大小
window.geometry('200x200')
# 輸入方法
def add(n):
    # 獲取到n1文本框的值
    n1 = inp.get()
    # 清空文本框
    inp.delete(0,len(n1))
    # 插入原來的加上新輸入參數(shù)n
    inp.insert(0,n1+str(n))
# 執(zhí)行計算方法
def calc():
    n1 = inp.get()  
    inp.delete(0,len(n1))
    # 把文本框的字符串用eval當代碼執(zhí)行一次,再插入到文本框
    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循環(huán) 創(chuàng)建 123 456 789 9個按鈕
for i in range(0,3):
    for j in range(1,4):
      n = j+i*3
      btn=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í)行命令并傳入參數(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)
# 進入消息循環(huán)
window.mainloop()

命令行計算器

while True:
	# 通過用戶輸入獲取運算的第一個數(shù)
	num1 = int(input("輸入第一個數(shù)字: "))
	# 通過用戶輸入獲取運算的第二個數(shù)
	# 默認是字符串需要用int把字符轉換為數(shù)組
	num2 = int(input("輸入第二個數(shù)字: "))
	# 提示用戶輸入運算符
	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("非法輸入")

到此這篇關于Python雙版本計算器詳解的文章就介紹到這了,希望對大家有幫助,更多相關python內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

相關文章

  • Python+Pygame實戰(zhàn)之炫舞小游戲的實現(xiàn)

    Python+Pygame實戰(zhàn)之炫舞小游戲的實現(xiàn)

    提到QQ炫舞,可能很多人想到的第一個詞是“青春”?;腥婚g,這個承載了無數(shù)人回憶與時光的游戲品牌,已經走到了第十幾個年頭。今天小編就來給大家嘗試做一款簡單的簡陋版的小游戲——《舞動青春*炫舞》,感興趣的可以了解一下
    2022-12-12
  • numpy.reshape(-1,1)的具體使用

    numpy.reshape(-1,1)的具體使用

    本文主要介紹了numpy.reshape(-1,1)的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • python調用百度語音識別api

    python調用百度語音識別api

    這篇文章主要介紹了python調用百度語音識別api,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python TKinter獲取文本框內容的方法

    python TKinter獲取文本框內容的方法

    今天小編就為大家分享一篇python TKinter獲取文本框內容的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python的函數(shù)使用詳解

    Python的函數(shù)使用詳解

    大家好,本篇文章主要講的是Python的函數(shù)使用詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • 詳解Python利用APScheduler框架實現(xiàn)定時任務

    詳解Python利用APScheduler框架實現(xiàn)定時任務

    在做一些python工具的時候,常常會碰到定時器問題,總覺著使用threading.timer或者schedule模塊非常不優(yōu)雅。所以本文將利用APScheduler框架實現(xiàn)定時任務,需要的可以參考一下
    2022-03-03
  • Python實現(xiàn)爬取網頁中動態(tài)加載的數(shù)據

    Python實現(xiàn)爬取網頁中動態(tài)加載的數(shù)據

    這篇文章主要介紹了Python實現(xiàn)爬取網頁中動態(tài)加載的數(shù)據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • 解決vscode python print 輸出窗口中文亂碼的問題

    解決vscode python print 輸出窗口中文亂碼的問題

    今天小編就為大家分享一篇解決vscode python print 輸出窗口中文亂碼的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 在python中調用C/C++的三種方法

    在python中調用C/C++的三種方法

    這篇文章主要給大家介紹了關于在python中調用C/C++的三種方法,Python可以通過調用C/C++接口來實現(xiàn)與C/C++語言的交互,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • Win10 安裝PyCharm2019.1.1(圖文教程)

    Win10 安裝PyCharm2019.1.1(圖文教程)

    這篇文章主要介紹了Win10 安裝PyCharm2019.1.1(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09

最新評論