python thinker 简易计算器

基础版
from tkinter import *
root = Tk()
root.title("Small Calculator")
root.geometry('500x300')
#第一个数
label1 = Label(text="The First Number", width=20, height=2)
label1.pack()
entry1 = Entry(width=20)
entry1.pack()
#运算法则
label2 = Label(text="The Operator", width=20, height=2)
label2.pack()
entry2 = Entry(width=20)
entry2.pack()
#第二个数
label3 = Label(text="The Second Number", width=20, height=2)
label3.pack()
entry3 = Entry(width=20)
entry3.pack()
#运算结果
var4 = IntVar()
label4 = Label(text="The Solution", width=20, height=2)
label4.pack()
label5 = Label(textvar=var4, width=30, height=1,)
label5.pack()


#主函数
def clickFun():
    global var4
    va11 = int(entry1.get())        #获得第一个数
    var2 = entry2.get()             #获得运算法则
    var3 = int(entry3.get())        #获得第二个数
    if var2 == '+':
        var4.set(int(va11+var3))
    elif var2 == '-':
        var4.set(int(va11-var3))
    elif var2 == '*':
        var4.set(int(va11*var3))
    elif var2 == '/':
        if var3 == 0:
            var4.set("请重新输入数据")             #除法判断分母是否为0
        else:
            var4.set(int(va11/var3))
    else:
        var4.set("运算符出错,请重新输入数据")    

button1 = Button(root, text="Deal", width=10, height=2, command=clickFun)    #Deal按钮
button1.pack(side=LEFT)

root.mainloop()

在原程序的“Deal”按钮中弹出一个提示框(MessageBox),提示“是否进行计算”,点击“确定”时进行相应计算,点击“取消”则不计算。

from tkinter import *
from tkinter import messagebox as msgbox
root = Tk()
root.title("Small Calculator")
root.geometry('500x300')

label1 = Label(text="The First Number", width=20, height=2)
label1.pack()
entry1 = Entry(width=20)
entry1.pack()

label2 = Label(text="The Operator", width=20, height=2)
label2.pack()
entry2 = Entry(width=20)
entry2.pack()

label3 = Label(text="The Second Number", width=20, height=2)
label3.pack()
entry3 = Entry(width=20)
entry3.pack()

var4 = IntVar()
label4 = Label(text="The Solution", width=20, height=2)
label4.pack()
label5 = Label(textvar=var4, width=30, height=1,)
label5.pack()


def clickFun():
    global var4
    va11 = int(entry1.get())
    var2 = entry2.get()
    var3 = int(entry3.get())
    if var2 == '+':
        var4.set(int(va11+var3))
    elif var2 == '-':
        var4.set(int(va11-var3))
    elif var2 == '*':
        var4.set(int(va11*var3))
    elif var2 == '/':
        if var3 == 0:
            var4.set("请重新输入数据")
        else:
            var4.set(int(va11/var3))
    else:
        var4.set("运算符出错,请重新输入数据")


def btn_clicked():
    if msgbox.askokcancel('提示', '要执行此操作吗'):
        clickFun()



button1 = Button(root, text="Deal", width=10, height=2, command=btn_clicked)
button1.pack(side=LEFT)

root.mainloop()

在原程序中增加“+”“-”“×”“÷”四个按钮(Button),点击相应Button时,实现相应的数学计算

from tkinter import *
from tkinter import messagebox as msgbox

root = Tk()
root.title("Small Calculator")
root.geometry('500x300')

label1 = Label(text="The First Number", width=20, height=2)
label1.pack()
entry1 = Entry(width=20)
entry1.pack()

label3 = Label(text="The Second Number", width=20, height=2)
label3.pack()
entry3 = Entry(width=20)
entry3.pack()

var4 = IntVar()
label4 = Label(text="The Solution", width=20, height=2)
label4.pack()
label5 = Label(textvar=var4, width=30, height=1)
label5.pack()

def clickFun(var2):
    global var4
    va11 = int(entry1.get())
    var3 = int(entry3.get())
    if var2 == '+':
        var4.set(int(va11+var3))
    elif var2 == '-':
        var4.set(int(va11-var3))
    elif var2 == '*':
        var4.set(int(va11*var3))
    elif var2 == '/':
        if var3 == 0:
            var4.set("请重新输入数据")
        else:
            var4.set(int(va11/var3))
    else:
        var4.set("运算符出错,请重新输入数据")


def btn1_clicked():
    if msgbox.askokcancel('提示', '要执行此操作吗'):
        clickFun('+')

def btn2_clicked():
    if msgbox.askokcancel('提示', '要执行此操作吗'):
        clickFun( '-')

def btn3_clicked():
    if msgbox.askokcancel('提示', '要执行此操作吗'):
        clickFun('*')
def btn4_clicked():
    if msgbox.askokcancel('提示', '要执行此操作吗'):
        clickFun('/')


button1 = Button(root, text="add", width=17, height=2, command=btn1_clicked)
button1.pack(side=LEFT)
button2 = Button(root, text="sub", width=17, height=2, command=btn2_clicked)
button2.pack(side=LEFT)
button3 = Button(root, text="mul", width=17, height=2, command=btn3_clicked)
button3.pack(side=LEFT)
button4 = Button(root, text="div", width=17, height=2, command=btn4_clicked)
button4.pack(side=LEFT)



在原程序中增加“+”“-”“×”“÷”四个单选按钮(Radiobutton),点击相应Radiobutton时,实现相应的数学计算。

from tkinter import *

root = Tk()
root.title("Small Calculator")
root.geometry('500x300')

label1 = Label(text="The First Number", width=20, height=2)
label1.pack()
entry1 = Entry(width=20)
entry1.pack()


label3 = Label(text="The Second Number", width=20, height=2)
label3.pack()
entry3 = Entry(width=20)
entry3.pack()

var4 = IntVar()
label4 = Label(text="The Solution", width=20, height=2)
label4.pack()
label5 = Label(textvar=var4, width=30, height=1,)
label5.pack()


def clickFun():
    global var4
    va11 = int(entry1.get())
    var3 = int(entry3.get())
    a = foo.get()
    if a==1:
        var4.set(int(va11+var3))
    elif a==2:
        var4.set(int(va11-var3))
    elif a==3:
        var4.set(int(va11*var3))
    elif a==4:
        if var3 == 0:
            var4.set("请重新输入数据")
        else:
            var4.set(int(va11/var3))
    else:
        var4.set("运算符出错,请重新输入数据")


foo = IntVar()
ls = [('add',1),('sub',2),('mul',3),('div', 4)]
for text ,value in ls:
    r = Radiobutton(root, text=text, value=value, command=clickFun, variable=foo)
    r.pack(anchor=N)

root.mainloop()

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LEFT&Picasso

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值