91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

用Python實現計算器功能的教程

發布時間:2021-06-24 10:10:37 來源:億速云 閱讀:658 作者:chen 欄目:編程語言

這篇文章主要講解了“用Python實現計算器功能的教程”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“用Python實現計算器功能的教程”吧!

這篇文章有兩個版本的計算器,下面是目錄

文章目錄

有框計算器

輸入方法
計算方法
清除文本框方法
刪除最后一個字符方法
計算絕對值
設置文本框
功能按鈕
運算符
9個按鈕

命令行計算器

獲取數
運算方法
判斷加法
剩下的
橋接
else
橋接2

完整代碼

有框計算器
命令行計算器

我們先講有框計算器

有框計算器

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

# 導入tkinter庫
import tkinter

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

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

接著用函數定義一個輸入方法

輸入方法
# 輸入方法
def add(n):
    # 獲取到n1文本框的值
    n1 = inp.get()
    # 清空文本框
    inp.delete(0,len(n1))
    # 插入原來的加上新輸入參數n
    inp.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)

再制作一些功能按鈕

功能按鈕
# 刪除按鈕(窗口,寬度,文本,執行命令).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)

最后,我們發現還沒有 123 456 789 9個按鈕,我們就用for循環創建 把代碼加到

# 設置一個文本框
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循環 創建 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)

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

命令行計算器

這個計算器的代碼很短,很快就能學會 首先獲取第一個數與第二個數

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

我們還得添加while True來保證代碼重復執行,否則計算器無法運算多次 在前面加上while True

while True:
	# 通過用戶輸入獲取運算的第一個數
	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)

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

橋接
while True:
	# 通過用戶輸入獲取運算的第一個數
	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,否則輸出將會出錯

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

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

橋接2
while True:
	# 通過用戶輸入獲取運算的第一個數
	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("非法輸入")

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

完整代碼

有框計算器
# 導入tkinter庫
import tkinter

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

# 輸入方法
def add(n):
    # 獲取到n1文本框的值
    n1 = inp.get()
    # 清空文本框
    inp.delete(0,len(n1))
    # 插入原來的加上新輸入參數n
    inp.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*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)
# 刪除按鈕(窗口,寬度,文本,執行命令).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()
命令行計算器
while True:
	# 通過用戶輸入獲取運算的第一個數
	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("非法輸入")

感謝各位的閱讀,以上就是“用Python實現計算器功能的教程”的內容了,經過本文的學習后,相信大家對用Python實現計算器功能的教程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦甸市| 连平县| 娱乐| 钟山县| 临西县| 皮山县| 区。| 聊城市| 阜宁县| 左云县| 清新县| 隆尧县| 普陀区| 绿春县| 杭州市| 吉首市| 康保县| 南陵县| 太康县| 靖边县| 江华| 永和县| 太仓市| 宁陵县| 阳山县| 驻马店市| 巫山县| 莆田市| 呼伦贝尔市| 屏东市| 自贡市| 阳信县| 巴林右旗| 漾濞| 日照市| 乌兰浩特市| 福海县| 西峡县| 桦川县| 新龙县| 新巴尔虎右旗|