python 实现一个简单的计算器

本文主要整合下tkinter ,实现下简单的计算器.

代码如下:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
"""
@Author: zh
@Time 2023/12/2 下午13:01 .
@Email:
@Describe:
"""
import tkinter as tk # 创建计算器窗口
root = tk.Tk()
root.title("计算器")
# root.geometry("800x800+100+100") input = tk.Entry(root, width=50, borderwidth=4)
input.grid(row=0, column=0, columnspan=3, padx=20, pady=20) def btnClick(number):
current = input.get()
input.delete(0, tk.END)
input.insert(0, str(current) + str(number)) def clear():
input.delete(0, tk.END) def add():
current = input.get()
global first_num
global math
math = "add"
first_num = float(current)
clear() def subtract():
current = input.get()
global first_num
global math
math = "subtract"
first_num = float(current)
clear() def multiply():
current = input.get()
global first_num
global math
math = "multiply"
first_num = float(current)
clear() def divide():
current = input.get()
global first_num
global math
math = "divide"
first_num = float(current)
clear() def equals():
second_number = input.get()
clear()
if math == "add":
input.insert(0, first_num + float(second_number))
elif math == "subtract":
input.insert(0, first_num - float(second_number))
elif math == "multiply":
input.insert(0, first_num * float(second_number))
elif math == "divide":
input.insert(0, first_num / float(second_number)) btn1 = tk.Button(root, padx=40, pady=20, text="1", command=lambda: btnClick(1))
btn2 = tk.Button(root, padx=40, pady=20, text="2", command=lambda: btnClick(2))
btn3 = tk.Button(root, padx=40, pady=20, text="3", command=lambda: btnClick(3)) btn4 = tk.Button(root, padx=40, pady=20, text="4", command=lambda: btnClick(4))
btn5 = tk.Button(root, padx=40, pady=20, text="5", command=lambda: btnClick(5))
btn6 = tk.Button(root, padx=40, pady=20, text="6", command=lambda: btnClick(6)) btn7 = tk.Button(root, padx=40, pady=20, text="7", command=lambda: btnClick(7))
btn8 = tk.Button(root, padx=40, pady=20, text="8", command=lambda: btnClick(8))
btn9 = tk.Button(root, padx=40, pady=20, text="9", command=lambda: btnClick(9)) btn0 = tk.Button(root, padx=40, pady=20, text="0", command=lambda: btnClick(0))
btnAdd = tk.Button(root, padx=40, pady=20, text="+", command=lambda: add())
btnSubtract = tk.Button(root, padx=42, pady=20, text="-", command=lambda: subtract())
btnMultiply = tk.Button(root, padx=40, pady=20, text="x", command=lambda: multiply())
btnDivide = tk.Button(root, padx=40, pady=20, text="", command=lambda: divide())
btnEquals = tk.Button(root, padx=40, pady=20, text="=", command=lambda: equals())
btnClear = tk.Button(root, padx=120, pady=20, text="clear", command=lambda: clear()) # 布局
btn1.grid(row=1, column=0)
btn2.grid(row=1, column=1)
btn3.grid(row=1, column=2) btn4.grid(row=2, column=0)
btn5.grid(row=2, column=1)
btn6.grid(row=2, column=2) btn7.grid(row=3, column=0)
btn8.grid(row=3, column=1)
btn9.grid(row=3, column=2) btn0.grid(row=4, column=0)
btnAdd.grid(row=4, column=1)
btnSubtract.grid(row=4, column=2) btnMultiply.grid(row=5, column=0)
btnDivide.grid(row=5, column=1)
btnEquals.grid(row=5, column=2) btnClear.grid(row=6, column=0, columnspan=3) root.mainloop()

python 实现一个简单的计算器的更多相关文章

  1. Python 设计一个简单的计算器

    设计目标 实现加减乘除及拓号优先级解析 用户输入'1 - 2 * ( (6-3 +(-5/5)*(9-2*3/3 + 7/3*7/4*12 +10 * 5/5 )) - (-4*3)/ (12-3*2 ...

  2. 用Python写一个简单的Web框架

    一.概述 二.从demo_app开始 三.WSGI中的application 四.区分URL 五.重构 1.正则匹配URL 2.DRY 3.抽象出框架 六.参考 一.概述 在Python中,WSGI( ...

  3. JS实现一个简单的计算器

    使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择 ...

  4. Android下实现一个简单的计算器源码

    下面的内容是关于Android下实现一个简单的计算器的内容. import android.app.Activity; import android.os.Bundle;import android. ...

  5. 用Python编写一个简单的Http Server

    用Python编写一个简单的Http Server Python内置了支持HTTP协议的模块,我们可以用来开发单机版功能较少的Web服务器.Python支持该功能的实现模块是BaseFTTPServe ...

  6. python中一个简单的webserver

     python中一个简单的webserver 2013-02-24 15:37:49 分类: Python/Ruby 支持多线程的webserver   1 2 3 4 5 6 7 8 9 10 11 ...

  7. JS事件 编程练习-自制计算器 使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。

    编程练习 使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElement ...

  8. Python实现一个简单三层神经网络的搭建并测试

    python实现一个简单三层神经网络的搭建(有代码) 废话不多说了,直接步入正题,一个完整的神经网络一般由三层构成:输入层,隐藏层(可以有多层)和输出层.本文所构建的神经网络隐藏层只有一层.一个神经网 ...

  9. 使用qt制作一个简单的计算器

    前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...

  10. 用python实现一个简单的词云

    对于在windows(Pycharm工具)里实现一个简单的词云还是经过了几步小挫折,跟大家分享下,如果遇到类似问题可以参考: 1. 导入wordcloud包时候报错,当然很明显没有安装此包. 2. 安 ...

随机推荐

  1. Android 调试桥 (adb) 使用教程/示例

    sidebar: auto Android 调试桥 (adb) Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信.adb 命令可用于执行各种设备操作,例如安装和调试 ...

  2. 别再用 float 布局了,flex 才是未来!

    大家好,我是树哥! 前面一篇文章整体介绍了 CSS 的布局知识,其中说到 float 布局是 CSS 不断完善的副产物.而在 2023 年的今天,flex 这种布局方式才是未来!那么今天我们就来学习下 ...

  3. xmind文件数据解析重构成mindmap可识别数据

    [需求背景] 测试平台开发中,需要引入前端mindmap模块,进行在线xmind实时解析并前端展示 [卡点难点] 选取什么库进行xmind解析 如何转换成mindmap可以识别的数据 [xmind解析 ...

  4. 20个最佳实践提升Terraform工作流程|Part 2

    在上一部分,我们一同探讨了构建 Terraform 项目的一些策略,以及使用 Terraform 管理 IaC 的部分最佳实践.今天,我们将继续深入研究将 Terraform 代码提升到新水平的具体要 ...

  5. Django框架——中间件、Auth模块、ContentType

    文章目录 一 什么是中间件 二 中间件有什么用 三 自定义中间件 process_request和process_response process_view process_exception pro ...

  6. ECS搭建FTP服务

    实验云账号,创建资源后生成收起 子用户名称: u-7ngohee5@1111971854401817 子用户密码: Jp1Ho5Aj5Ek5Yx1P AK ID: LTAI5tGc6fVMJj44H4 ...

  7. 【matplotlib 实战】--直方图

    直方图,又称质量分布图,用于表示数据的分布情况,是一种常见的统计图表. 一般用横轴表示数据区间,纵轴表示分布情况,柱子越高,则落在该区间的数量越大.构建直方图时,首先首先就是对数据划分区间,通俗的说即 ...

  8. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇

    1.简介 本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后 ...

  9. 关于LUN的归属控制器

    ALUA (Asymmetric logic Unit Access)  架构 在ALUA (Asymmetric logic Unit Access)  架构中,LUN有归属控制器,客户在创建LUN ...

  10. HarmonyOS UI 开发

    引言 HarmonyOS 提供了强大的 UI 开发工具和组件,使开发者能够创建吸引人的用户界面.本章将详细介绍在 HarmonyOS 中应用 JS.CSS.HTML,HarmonyOS 的 UI 组件 ...