(13)-- 用tkinter编写简易计算器

#简易计算器


from tkinter import *
import math

root = Tk()
root.title('计算器')
root.minsize(340, 310)

# 顶部区域
v = StringVar()
v.set('0')
show_label = Label(root, textvariable=v, bg='white', width=12, height=1, font=("黑体", 20, "bold"), justify=LEFT,
                   anchor='e')
show_label.pack(padx=10, pady=15)

# 是否按下了运算符
isopera = False

# 设置初始结果
calc = []


# 序列操作
def change(num):
    global isopera
    if isopera == False:
        if v.get() == '0':
            v.set('')
            v.set(num)
        else:
            v.set(v.get() + num)
    else:
        v.set(num)
        isopera = False

        # 运算符号


def operation(sign):
    global isopera
    global calc


    if isopera == True:
        calc[1] = sign
    else:

        num = v.get()
        calc.append(num)  # -------------------------------------------------------------运算数1
        calc.append(sign)  # -----------------------------------------------------------运算符

    isopera = True  #


# 等于操作
def equal():
    global calc
    # 获取当前界面的数值准备运算
    calc.append(v.get())
    print(calc)
    # 组成运算字符串
    calcstr = ''.join(calc)
    # 检测最后一位是否是运算符,是就删除
    if calcstr[-1] in '+-*/':
        calcstr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用tkinter编写简易计算器的示例代码: ```python import tkinter as tk class Calculator: def __init__(self, master): self.master = master master.title("简易计算器") # 创建输入框 self.entry = tk.Entry(master, width=30, justify="right") self.entry.grid(row=0, column=0, columnspan=4, padx=5, pady=5) # 定义数字按钮 numbers = ["7", "8", "9", "4", "5", "6", "1", "2", "3", "0"] # 创建数字按钮 for i, number in enumerate(numbers): button = tk.Button(master, text=number, width=7, height=3, command=lambda num=number: self.click(num)) button.grid(row=i//3+1, column=i%3, padx=5, pady=5) # 创建运算符按钮 operators = ["+", "-", "*", "/", "C", "=", "(", ")"] for i, operator in enumerate(operators): button = tk.Button(master, text=operator, width=7, height=3, command=lambda op=operator: self.click(op)) button.grid(row=i//2+1, column=i%2+3, padx=5, pady=5) def click(self, key): if key == "C": self.entry.delete(0, tk.END) elif key == "=": try: result = eval(self.entry.get()) self.entry.delete(0, tk.END) self.entry.insert(0, result) except: self.entry.delete(0, tk.END) self.entry.insert(0, "错误") else: self.entry.insert(tk.END, key) root = tk.Tk() my_calculator = Calculator(root) root.mainloop() ``` 这个示例代码创建了一个名为Calculator的类,它继承自tkinter的Frame类。类的构造函数中创建了一个输入框和数字、运算符按钮,并为每个按钮添加了响应函数。在响应函数中,当用户按下数字或运算符按钮时,会向输入框中插入相应的数字或运算符;当用户按下“C”清除按钮时,会清空输入框;当用户按下“=”等于按钮时,会计算输入框中的表达式并显示结果,如果计算过程中出现错误,则在输入框中显示“错误”。 你可以将这段代码保存为一个.py文件并运行它,就可以看到一个简单的计算器界面。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值