*我的問題還沒有結束,所以我在代碼中標記了我的問題,這樣你就可以看到我使用的平方根函式的解決方案是什么
def button_sqrt():
first_number = e.get()
global f_num
global math
math = "sqrt"
f_num = int(first_number)
e.delete(0, END),
if math == "sqrt":
e.insert(0, f_num * int(second_number))
這但它不作業
#starting
from tkinter import *
root = Tk()
root.title("Simple Calculator")
e = Entry(root, width=35, borderwidth=5)
e.grid(row=0, column=0, columnspan=4, padx=11, pady=11,)
#add buttons
def button_click(number):
current = e.get()
e.delete(0, END)
e.insert(0, str(current) str(number))
def button_clear():
e.delete(0, END)
def button_add():
first_number = e.get()
global f_num
global math
math = "addition"
f_num = int(first_number)
e.delete(0, END)
def button_equal():
second_number = e.get()
e.delete(0, END)
if math == "addition":
e.insert(0, f_num int(second_number))
if math == "subtraction":
e.insert(0, f_num - int(second_number))
if math == "multiplication":
e.insert(0, f_num * int(second_number))
if math == "division":
e.insert(0, f_num / int(second_number))
我想在這里添加一個平方根函式
#remaining buttons def
def button_subtract():
first_number = e.get()
global f_num
global math
math = "subtraction"
f_num = int(first_number)
e.delete(0, END)
def button_multiply():
first_number = e.get()
global f_num
global math
math = "multiplication"
f_num = int(first_number)
e.delete(0, END)
def button_divide():
first_number = e.get()
global f_num
global math
math = "division"
f_num = int(first_number)
e.delete(0, END)
和一個用于平方根的按鈕
# define buttons
button_1 = Button(root, text=" 1 ", padx=41, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text=" 2 ", padx=41, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text=" 3 ", padx=41, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text=" 4 ", padx=41, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text=" 5 ", padx=41, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text=" 6 ", padx=41, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text=" 7 ", padx=41, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text=" 8 ", padx=41, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text=" 9 ", padx=41, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text=" 0 ", padx=41, pady=20, command=lambda: button_click(0))
button_add = Button(root, text=" ", padx=40, pady=20, command=button_add)
button_equal = Button(root, text=" = ", padx=90, pady=20, command=button_equal)
button_clear = Button(root, text=" Clear ", padx=80, pady=20, command=button_clear)
button_subtract = Button(root, text=" - ", padx=41, pady=20, command=button_subtract)
button_multiply = Button(root, text=" * ", padx=41, pady=20, command=button_multiply)
button_divide = Button(root, text=" / ", padx=41, pady=20, command=button_divide)
平方根按鈕在這里
# put the buttons on the screen
button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)
button_0.grid(row=4,column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_equal.grid(row=5, column=1, columnspan=2)
button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)
button_divide.grid(row=6, column=2)
和螢屏上的平方根按鈕
root.mainloop()
uj5u.com熱心網友回復:
由于平方根只需要一個值來計算,因此您不希望像使用其他運算子那樣將邏輯添加到 button_equal 函式。相反,您將所有邏輯保留在sqrt_button.
例如:
from tkinter import *
root = Tk()
root.title("Simple Calculator")
e = Entry(root, width=35, borderwidth=5)
e.grid(row=0, column=0, columnspan=4, padx=11, pady=11,)
# add buttons
def button_click(number):
current = e.get()
e.delete(0, END)
e.insert(0, str(current) str(number))
def button_clear():
e.delete(0, END)
def button_add():
first_number = e.get()
global f_num
global math
math = "addition"
f_num = int(first_number)
e.delete(0, END)
def button_equal():
second_number = e.get()
e.delete(0, END)
if math == "addition":
e.insert(0, f_num int(second_number))
if math == "subtraction":
e.insert(0, f_num - int(second_number))
if math == "multiplication":
e.insert(0, f_num * int(second_number))
if math == "division":
e.insert(0, f_num / int(second_number))
# remaining buttons def
def button_subtract():
first_number = e.get()
global f_num
global math
math = "subtraction"
f_num = int(first_number)
e.delete(0, END)
def button_multiply():
first_number = e.get()
global f_num
global math
math = "multiplication"
f_num = int(first_number)
e.delete(0, END)
def button_divide():
first_number = e.get()
global f_num
global math
math = "division"
f_num = int(first_number)
e.delete(0, END)
def button_sqrt():
first_number = e.get()
global f_num
global math
math = "sqrt"
f_num = int(first_number)
e.delete(0, END)
e.insert(0, f_num ** .5)
# define buttons
button_1 = Button(root, text=" 1 ", padx=41, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text=" 2 ", padx=41, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text=" 3 ", padx=41, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text=" 4 ", padx=41, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text=" 5 ", padx=41, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text=" 6 ", padx=41, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text=" 7 ", padx=41, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text=" 8 ", padx=41, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text=" 9 ", padx=41, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text=" 0 ", padx=41, pady=20, command=lambda: button_click(0))
button_add = Button(root, text=" ", padx=40, pady=20, command=button_add)
button_equal = Button(root, text=" = ", padx=90, pady=20, command=button_equal)
button_clear = Button(root, text=" Clear ", padx=80, pady=20, command=button_clear)
button_subtract = Button(root, text=" - ", padx=41, pady=20, command=button_subtract)
button_multiply = Button(root, text=" * ", padx=41, pady=20, command=button_multiply)
button_divide = Button(root, text=" / ", padx=41, pady=20, command=button_divide)
button_sqrt = Button(root, text="sqrt", padx=41, pady=20, command=button_sqrt)
button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)
button_0.grid(row=4,column=0)
button_clear.grid(row=4, column=1, columnspan=2)
button_add.grid(row=5, column=0)
button_equal.grid(row=5, column=1, columnspan=2)
button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)
button_divide.grid(row=6, column=2)
button_sqrt.grid(row=7, column=0)
root.mainloop()
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/512054.html
