標題:
水果攤老闆的煩惱 2
[打印本頁]
作者:
tonyh
時間:
2023-8-12 16:14
標題:
水果攤老闆的煩惱 2
本帖最後由 tonyh 於 2023-8-12 16:52 編輯
水果攤的生意實在是太好了,一下子就賣光引來諸多抱怨,為了讓更多顧客都能順利買到好吃的蓮霧,老闆定了一個規則,每人一次最多買30斤。另外,運用 try...except 使當輸入非數字時,跳出提示「請輸入數字!」。
[attach]16221[/attach]
[attach]16222[/attach][attach]16223[/attach]
import tkinter as tk
import tkinter.messagebox as tmbox
win=tk.Tk()
win.title("賣水果")
win.resizable(0,0)
lb=tk.Label(win, text="蓮霧", font=("微軟正黑體",18), height=2).pack()
fm=tk.Frame(win)
et=tk.Entry(fm, font=("微軟正黑體",16), width=10)
et.pack(side="left")
lb=tk.Label(fm, text=" 斤", font=("微軟正黑體",14)).pack(side="left")
fm.pack()
def cal():
str=et.get()
try:
qty=float(str)
if qty>30:
tmbox.showerror(title="輸入錯誤",message="每人限購 30 斤!")
et.delete(0, tk.END)
return
elif qty>=5:
res=qty*40
elif qty>=3:
res=qty*45
else:
res=qty*50
lb.config(text="%s 斤:%d 元"%(str, res))
et.delete(0, tk.END)
except:
tmbox.showerror(title="輸入錯誤",message="請輸入數字!")
et.delete(0, tk.END)
btn=tk.Button(win, text=" 計 算 ", command=cal, font=("微軟正黑體",12)).pack(pady=20)
lb=tk.Label(win, bg="#FFFF77", fg="red", text="", font=("微軟正黑體",16), width=20, height=2)
lb.pack(padx=5,pady=5)
win.mainloop()
複製代碼
作者:
李沛昂
時間:
2023-8-12 16:41
本帖最後由 李沛昂 於 2023-8-12 17:05 編輯
import tkinter as tk
import tkinter.messagebox as tmbox
win=tk.Tk()
win.title("賣水果")
win.resizable(0,0)
fm=tk.Frame(win)
lb=tk.Label(fm,text="蓮霧",font=("微軟正黑體",16)).pack(side="left",padx=100,pady=20)
fm.pack()
n=tk.IntVar()
fm=tk.Frame(win)
et=tk.Entry(fm,font=("微軟正黑體",16),width=10)
et.pack(side="left",pady=5)
lb=tk.Label(fm,text=" 斤",font=("微軟正黑體",16)).pack(side="left")
fm.pack()
def count():
st=et.get()
try:
qty=float(st)
if qty>=30:
tmbox.showerror(title="輸入錯誤",message="每人限購30斤!")
et.delete(0,tk.END)
return
elif qty>=5:
res=qty*40
elif qty>=3:
res=qty*45
else:
res=qty*50
except:
tmbox.showerror(title="輸入錯誤",message="請輸入數字!")
et.delete(0,tk.END)
lb.config(text="%s 斤:%d 元"%(st, res))
et.delete(0, tk.END)
fm=tk.Frame(win)
btn=tk.Button(fm,text=" 計 算 ",command=count,width=7,height=1,font=("微軟正黑體",14)).pack(side="left",pady=30)
fm.pack()
fm=tk.Frame(win)
lb=tk.Label(fm,bg="yellow",fg="red",font=("微軟正黑體",16),width=20,height=2)
lb.pack(padx=5,pady=5)
fm.pack()
win.mainloop()
複製代碼
作者:
王捷恩
時間:
2023-8-12 17:08
import tkinter as tk
import tkinter.messagebox as tmbox
win=tk.Tk()
win.title("賣水果")
win.resizable(0,0)
lb=tk.Label(win, text="蓮霧", font=("微軟正黑體", 18), height=2).pack()
fm=tk.Frame(win)
et=tk.Entry(fm, font=("微軟正黑體", 16), width=10)
et.pack(side="left")
lb=tk.Label(fm, text=" 斤", font=("微軟正黑體", 14)).pack(side="left")
fm.pack()
def cal():
str=et.get()
try:
qty=float(str)
if qty>30:
tmbox.showerror(title="輸入錯誤" , message="每人限購 30 斤!")
et.delete(0, tk.END)
return
elif qty>=5:
res=qty*40
elif qty>=3:
res=qty*45
else:
res=qty*50
lb.config(text="%s 斤:%d 元"%(str, res))
et.delete(0, tk.END)
except:
tmbox.showerror(title="輸入錯誤", message="請輸入數字!")
et.delete(0, tk.END)
btn=tk.Button(win, text=" 計 算 ", command=cal, font=("微軟正黑體", 12)).pack(pady=20)
lb=tk.Label(win, bg="#FFFF77", fg="red", text="", font=("微軟正黑體", 16), width=20, height=2)
lb.pack(padx=5,pady=5)
win.mainloop()
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2