鱼C论坛

 找回密码
 立即注册
查看: 662|回复: 3

[已解决]用Python制作计算器

[复制链接]
发表于 2020-3-22 19:46:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import tkinter as tk      
root = tk.Tk()
#程序名字
root.title("科学计算器")
#程序抬头的说明
thelabel = tk.Label(root,text="本计算器能计算数的加减乘除!").grid(row=0,columnspan=4)
#窗口大小,是x不是*
root.geometry("350x150")
#不能改变窗口的大小
root.resizable(width=False,height=False)
#数字输入提示
tk.Label(root,text="请输入一个数:").grid(row=1)
tk.Label(root,text="请输入一个数:").grid(row=2)
#数字输入对话框
the_entry1 = tk.Entry(root)
the_entry2 = tk.Entry(root)
the_entry1.grid(row=1,column=1)
the_entry2.grid(row=2,column=1)

#主函数
a = float(the_entry1.get())
b = float(the_entry2.get())
def calculator():
    radSel = radVar.get()
    num1 = 0
    global a,b
    if radSel == 1:
       num1 = a+b
    elif radSel == 2:
        num1 = a-b
    elif radSel == 3:
        num1 = a*b
    elif radSel == 4:
        num1 = a/b
    return num1        

#运算选择对话框,采用Radiobutton组件
radVar = tk.IntVar()    # 通过tk.IntVar() 获取单选按钮value参数对应的值
rad1 = tk.Radiobutton(root, text='加', variable=radVar, value=1, command=calculator)      # 当该单选按钮被点击时,会触发参数command对应的函数
rad1.grid(row=1,column=2)

rad2 = tk.Radiobutton(root, text='减', variable=radVar, value=2, command=calculator)      # 当该单选按钮被点击时,会触发参数command对应的函数
rad2.grid(row=2,column=2)

rad3 = tk.Radiobutton(root, text='乘', variable=radVar, value=3, command=calculator)      # 当该单选按钮被点击时,会触发参数command对应的函数
rad3.grid(row=1,column=3)

rad4 = tk.Radiobutton(root, text='除', variable=radVar, value=4, command=calculator)      # 当该单选按钮被点击时,会触发参数command对应的函数
rad4.grid(row=2,column=3)

#运行按钮
thebutton = tk.Button(root,text="开始计算" ,relief="raised",bd=4).grid(row=3,column=1)
#计算结果显示
tk.Label(root,text="计算结果是:").grid(row=4)
the_entry3 = tk.Entry(root)
the_entry3.grid(row=4,column=1)

root.mainloop()

求助
想制作一个简易计算器:


最佳答案
2020-3-23 13:15:09
import tkinter as tk

root = tk.Tk()
# 程序名字
root.title("科学计算器")
# 程序抬头的说明
thelabel = tk.Label(root, text="本计算器能计算数的加减乘除!").grid(row=0, columnspan=4)
# 窗口大小,是x不是*
root.geometry("350x150")
# 不能改变窗口的大小
root.resizable(width=False, height=False)
# 数字输入提示
tk.Label(root, text="请输入一个数:").grid(row=1)
tk.Label(root, text="请输入一个数:").grid(row=2)
# 数字输入对话框
the_entry1 = tk.Entry(root)
the_entry2 = tk.Entry(root)
the_entry1.grid(row=1, column=1)
the_entry2.grid(row=2, column=1)


def calculator():
    a = float(the_entry1.get())
    b = float(the_entry2.get())
    radSel = radVar.get()
    num1 = 0
    if radSel == 1:
        num1 = a + b
    elif radSel == 2:
        num1 = a - b
    elif radSel == 3:
        num1 = a * b
    elif radSel == 4:
        num1 = a / b
    the_entry3.delete(0, tk.END)
    the_entry3.insert(0, str(num1))


# 运算选择对话框,采用Radiobutton组件
radVar = tk.IntVar()  # 通过tk.IntVar() 获取单选按钮value参数对应的值
rad1 = tk.Radiobutton(root, text='加', variable=radVar, value=1)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad1.grid(row=1, column=2)

rad2 = tk.Radiobutton(root, text='减', variable=radVar, value=2)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad2.grid(row=2, column=2)

rad3 = tk.Radiobutton(root, text='乘', variable=radVar, value=3)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad3.grid(row=1, column=3)

rad4 = tk.Radiobutton(root, text='除', variable=radVar, value=4)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad4.grid(row=2, column=3)

# 运行按钮
thebutton = tk.Button(root, text="开始计算", relief="raised", bd=4, command=calculator)
thebutton.grid(row=3, column=1)
# 计算结果显示
tk.Label(root, text="计算结果是:").grid(row=4)
the_entry3 = tk.Entry(root)
the_entry3.grid(row=4, column=1)

root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-22 19:53:47 | 显示全部楼层
IDLE不是就能计算吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-23 13:15:09 | 显示全部楼层    本楼为最佳答案   
import tkinter as tk

root = tk.Tk()
# 程序名字
root.title("科学计算器")
# 程序抬头的说明
thelabel = tk.Label(root, text="本计算器能计算数的加减乘除!").grid(row=0, columnspan=4)
# 窗口大小,是x不是*
root.geometry("350x150")
# 不能改变窗口的大小
root.resizable(width=False, height=False)
# 数字输入提示
tk.Label(root, text="请输入一个数:").grid(row=1)
tk.Label(root, text="请输入一个数:").grid(row=2)
# 数字输入对话框
the_entry1 = tk.Entry(root)
the_entry2 = tk.Entry(root)
the_entry1.grid(row=1, column=1)
the_entry2.grid(row=2, column=1)


def calculator():
    a = float(the_entry1.get())
    b = float(the_entry2.get())
    radSel = radVar.get()
    num1 = 0
    if radSel == 1:
        num1 = a + b
    elif radSel == 2:
        num1 = a - b
    elif radSel == 3:
        num1 = a * b
    elif radSel == 4:
        num1 = a / b
    the_entry3.delete(0, tk.END)
    the_entry3.insert(0, str(num1))


# 运算选择对话框,采用Radiobutton组件
radVar = tk.IntVar()  # 通过tk.IntVar() 获取单选按钮value参数对应的值
rad1 = tk.Radiobutton(root, text='加', variable=radVar, value=1)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad1.grid(row=1, column=2)

rad2 = tk.Radiobutton(root, text='减', variable=radVar, value=2)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad2.grid(row=2, column=2)

rad3 = tk.Radiobutton(root, text='乘', variable=radVar, value=3)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad3.grid(row=1, column=3)

rad4 = tk.Radiobutton(root, text='除', variable=radVar, value=4)  # 当该单选按钮被点击时,会触发参数command对应的函数
rad4.grid(row=2, column=3)

# 运行按钮
thebutton = tk.Button(root, text="开始计算", relief="raised", bd=4, command=calculator)
thebutton.grid(row=3, column=1)
# 计算结果显示
tk.Label(root, text="计算结果是:").grid(row=4)
the_entry3 = tk.Entry(root)
the_entry3.grid(row=4, column=1)

root.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-4 14:39:37 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表