python 计算器

用python简单代码做一个计算器 用python简单代码做一个计算器 import tkinter as tk class Calc(tk.Tk): """计算器窗体类""" def __init__(self): """初始化实例""" tk.Tk.__init__(self) self.title("计算器") self.memory = 0 ... 阅读详情

| 计算器

给定一个包含正整数、加(+)、减(-)、乘(*)、除(/)的算数表达式(括号除外),计算其结果。

表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格  。 整数除法仅保留整数部分。

示例 1:

输入: "3+2*2"
输出: 7
示例 2:

输入: " 3/2 "
输出: 1
示例 3:

输入: " 3+5 / 2 "
输出: 5

| 题解

class Solution:
    """
    解题思路: 利用两个栈来解决
    第一个栈存放被计算的数字,第二个栈存放运算符
    计算规则: 1.当第二个栈不为空时, 又有运算符需要进栈,
    此时判断当前运算符与栈内运算符的运算级别,
    如果栈内的运算符级别高于要进栈的运算符运行级别或者同级别,则计算栈内运算符,
    计算后把对应的运算符和计算对应的数字移出栈,把计算的结果添加到第一个栈中,
    把需要入栈的运算符添加到第二个栈中,下附代码
    """
    def __init__(self):
        self.stack = list()
        self.op_stack = list()
        self.tmp_num = ''

    def calculate(self, s: str) -> int:
        for i in s:
            if i.isdigit():
                # 解决多位数字的计算
                self.tmp_num += i
            elif i in '+-*/':
                self.stack.append(int(self.tmp_num))
                self.tmp_num = ''
                if self.op_stack and self.op_stack[-1] == '*':
                    # 移出栈内已经计算好的元素和运算符并把需要入栈的数据入栈
                    self.arithmetic()
                
                if self.op_stack and self.op_stack[-1] == '/':
                    # 移出栈内已经计算好的元素和运算符并把需要入栈的数据入栈
                    self.arithmetic()
                    
                if self.op_stack and i in '+-':    
                    # 移出栈内已经计算好的元素和运算符并把需要入栈的数据入栈
                    self.arithmetic()
        
                self.op_stack.append(i)
        # 把最后一位数字入栈
        if self.tmp_num:
            self.stack.append(int(self.tmp_num))

        # 最后再次计算栈内的数据,有可能出现两个运算符也有可能出现一个,所有用while来处理
        while len(self.op_stack) :
            self.arithmetic()
  
        return self.stack[0]
    
    def arithmetic(self):
        num1, op, num2 = self.remove()
        if op == '*':
            self.stack.append(num2 * num1)
        elif op == '/':
            self.stack.append(int(num2 / num1))
        elif op == "+":
            self.stack.append(num2 + num1)
        elif op == '-':
            self.stack.append(num2 - num1)
    
    def remove(self):
        op = self.op_stack.pop()
        num1 = self.stack.pop()
        num2 = self.stack.pop()
        return num1, op, num2
用Python制作一个简易计算器 生活中我们为了方便进行计算,经常都会使用计算器帮助我们进行计算,提高我们的计算效率。今天这篇文章就和大家介绍一下如何使用 Python 代码实现简易计算器的制作。 阅读详情

相关推荐

用python实现计算器

上次我用我学习的python做一个简易的计算器,我对计算器进行了,更改优化,变成了一个真正的计算器 可以看到计算器的页面特别好看,跟着我一起学python,成就感满满 !!!

weixin_56043516的博客 4908

Python基础教程——制作简单计算器(完整版,附源码)

程序运行后,将会弹出一个计算器窗口,用户可以通过该窗口进行数字和运算符的输入,计算结果将会显示在文本框中。这里我们使用了全局变量来存储用户输入的数字和运算符,以及计算结果。2. 数据类型:我们需要定义一些变量和数据类型来存储用户输入的数字和运算符,以及计算结果。在计算器中,我们需要定义一些变量和数据类型来存储用户输入的数字和运算符,以及计算结果。3. 运算逻辑:计算器需要根据用户输入的运算符来进行相应的数学运算,并输出计算结果。在计算器中,我们需要根据用户输入的运算符来进行相应的数学运算,并输出计算结果。

2301_78217634的博客 3万+

用python做简单的计算器,python编写简单计算器

大家好,本文将围绕用python做简单的计算器展开说明,python编写简单计算器是一个很多人都想弄明白的事情,想搞清楚如何用python做计算器需要先了解以下几个事情。上次我用我学习的python做一个简易的计算器,我对计算器进行了,更改优化,变成了一个真正的计算器1.计算机布局2.计算机执行Tkinter 作为 Python GUI 开发工具之一,它具有 GUI 软件包的必备的常用功能。比如,它提供了十多种不同类型的窗口控件、窗口布局管理器、事件处理机制等,加之其开发效率高、代码简洁易读。

a17348的博客 3203

Python - 简易版计算器(附完整代码)

对输入的两个数进行一次加减乘除。对输入的运算符进行判断。

小肥丸 2万+

用python做计算器

用python做计算器

hu20100913的博客 1万+

Python制作一个科学计算器

  干活干活,来做个科学计算器。   哈喽,大家好呀,这里是滑稽研究所。提到python的GUI很多人想到的是tkinter这个第三方库,实际上之前我们已经学习过了tk的基础知识,并制作了一个只有加减乘除功能的计算器,本期我们带来他的加强版,科学计算器。   提到科学计算,是不是一下就想起了python的math库,没错它也是我们本次代码的主角之一。eval(),lambda ()这两个方法也是我们代码的灵魂人物。我们来看一下他们的使用方法。 eval() 用来执行一个字符串表达式,并返回表达式的值。大家

weixin_45067072的博客 8393

python语言利用Tkinter实现GUI计算器|(一)计算器基本功能设计

学习目标:学会利用python的GUI做界面布局 手写计算器代码熟悉控件的使用方法 优化计算器代码,解决获取按钮文本的方法 了解lambda函数的传参优点和局限 打包生成自己的计算器软件,并独立运行 学习内容:手写一个简单计算器 1、计算器目标图 目标计算器设计分为三个部分 背景部分 根:Tk() 展示部分:上方展示算式,下方展示计算结果 按钮部分 2、 计算器计算功能 1. 加减乘除,放在=,按钮上 2. 回退,放在<-按钮上 3. 清除,放在MC按钮上 3、 代码实现 1. 外观布

人工智能视觉分析算法学习实践和经验分享。 1万+

基于python的计算器制作

简单计算器制作 import tkinter as tk from decimal import Decimal import math top=tk.Tk() top.title("我是一个计算器") top.geometry("350x400+150+150") n=0 #实现单击数字对应出现在文本框中 def nclick(): global n n=n+1 text=bt['text'] text1.insert(n-1,text) def n1click():

lyyzmj的博客 1313

python实现计算器

python两行代码实现计算器

weixin_64548527的博客 1万+

如何用python做一个简单好用的计算器

1 ui设计 使用qt designer ,按装anaconda后,在如下路径找到: conda3.05\Library\bin designer.exe文件,双击启动: 创建窗体,命名为XiaoDing,整个的界面如下所示: qt 设计器提供的常用控件基本都能满足开发需求,通过拖动左侧的控件,很便捷的就能搭建出如下的UI界面,比传统的手写控件代码要方便很多。 最终设计的计算器XiaoDing界面如下, 比如,其中一个用于计算器显示的对象:lcdNumber,对象的类型为:LCD Number。右侧为

python_miao的博客 6133

python tkinter 模块制作计算器

利用python tkinter模块编写个简单的计算器

行走的Alpha 3558

用 Python 写个计算器

手写计算器

Python小二 2万+

HDR标准核心参数全解析:从PQ/HLG到元数据,一篇搞懂技术选型

本文全面解析HDR标准的核心参数,包括PQ/HLG传输函数和元数据机制,帮助读者理解技术选型的关键因素。通过对比主流HDR标准的技术细节,提供从内容创作到硬件适配的实用指南,助力实现更真实的视觉体验。

weixin_31766003的博客 300

python带界面的计算器

#python中的import语句是用来导入模块的,在python模块库中有着大量的模块可供使用,要想使用这些文件需要用import语句把指定模块导入到当前程序中。 import re#处理字符串的模块,如查找特定字符,删除特定字符,字符串分割等 import tkinter#Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口,位Python的内置模块,直接i...

qq_24624539的博客 1万+

【XR技术介绍】深度解析|AI眼镜核心技术架构:从硬件层到端云AI全链路拆解

本文将逐层拆解AI眼镜完整技术架构,梳理硬件、感知、光学、端侧AI、软件云端五大核心层级,剖析核心数据流与行业技术瓶颈,同时附上标准化技术架构图,适合技术学习、方案汇报、行业科普使用。

houdou112358的博客 435

告别城市峡谷定位漂移:手把手教你用PSINS仿真INS/NHC/ODO组合导航(附代码获取)

本文详细解析了INS/NHC/ODO组合导航系统在城市峡谷环境中的应用,通过PSINS平台实现精准定位。文章涵盖核心原理、环境搭建、算法实现及性能优化,帮助开发者解决GNSS信号中断时的定位漂移问题,提升自动驾驶系统在复杂环境中的可靠性。

weixin_30329623的博客 429

python计算器_python之计算器

开发一个简单的python计算器1、实现加减乘除及拓号优先级解析2、用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568/14 )) - (-4*3)/ (16-3*2) )等类似公式后,必须自己解析里面的(),+,-,*,/符号和公式(不能调用eval等类似功能偷懒实现),运算后得出结果,结果必须与真实的计算器所...

weixin_39640773的博客 382

保姆级避坑指南:Mid-360雷达到手后,用livox_ros_driver2从接线到出点云的完整流程

本文提供Mid-360雷达到手后的完整使用指南,涵盖从硬件接线、网络配置到livox_ros_driver2驱动的安装与调试,帮助用户避开常见陷阱,实现点云数据的稳定输出与可视化。重点解析了配置文件的参数设置和点云格式选择,确保用户能够高效部署和使用Mid-360雷达。

weixin_30733003的博客 486

python 计算器封装_用 Python 写个计算器

咱们常见的计算辅助工具备两种,一种是古人发明的算盘,另外一种就是咱们现代人发明的计算器,与算盘相比,计算器不管是便利性仍是计算速度都是优于算盘的,本文咱们使用 Python 来实现一个简易的计算器。python实现咱们几乎每一个人都用过计算器,你们对于计算器应该都是比较熟悉的,计算器总体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,计算器的图形界面咱们使用 tkinter 库实现,下面...

weixin_36190910的博客 546

Rclone替代RaiDrive?零广告免费挂载Alist WebDAV到Windows资源管理器(含自启脚本)

本文详细介绍了如何使用开源工具Rclone替代RaiDrive,实现零广告、全免费的Alist WebDAV挂载方案。通过深入解析配置参数、提供完整的自启动解决方案和解决常见问题,帮助用户在Windows资源管理器中高效管理云存储,提升使用体验。

weixin_33709364的博客 638

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

锐捷-GZ073 网络系统管理赛项赛题第1套A模块-S5配置

weixin_46183247的博客 767

python计算器总结_用 Python 写个计算器

我们常见的计算辅助工具有两种,一种是古人发明的算盘,另一种就是我们现代人发明的计算器,与算盘相比,计算器无论是便利性还是计算速度都是优于算盘的,本文我们使用 Python 来实现一个简易的计算器。实现我们几乎每个人都用过计算器,大家对于计算器应该都是比较熟悉的,计算器整体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,计算器的图形界面我们使用 tkinter 库实现,下面看一下具体实现过...

weixin_39782500的博客 1217

delphi 调用deepseek r1 api 并流式返回结果

摘要:本文展示了一个使用Delphi调用DeepSeek API的代码示例,包含两种调用方式:一次性获取结果和流式返回结果。代码实现了完整的API请求处理,包括HTTP客户端设置、JSON数据处理和UI界面交互。其中流式调用通过TStreamReader处理服务器发送事件(SSE),实时更新到TRichEdit控件并保持滚动条位置。文章还提到界面美化优化,为Delphi开发者提供了调用AI服务的实用参考方案。(150字)

全粘工程师 494
上一篇: python 用一个数组实现三个栈
下一篇: python 删除字符串中的所有相邻的重复项
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

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

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

打赏作者

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

抵扣说明:

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

余额充值