码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • PTA 7-5 令人抓狂的四则运算


    题目

    曾记否,我们小学时,遇到这种四则运算,心情是抓狂的:

    在这里插入图片描述
    在这里插入图片描述

    那么当我们学会使用计算机,自然是要程序去完成这个工作啦~ 现在请对输入的四则运算求值。注意:

    四则运算表达式必定包含运算数,还可能包含运算符和括号( ),不含空格等其它字符
    运算数必定包含数字,还可能包含正或负符号+、-以及小数点.
    运算符仅有+(加)、-(减)、(乘以)、/(除以)四种
    括号可以嵌套
    对于带符号的数,可以加括号,也可以不加括号,例如:1±2
    +3和1+(-2)(+3)是等价的
    括号内可以是包含运算符的表达式,也可以仅有运算数,例如:1
    (2)和1*(2+3)都是合法的表达式

    输入格式:

    输入由若干行组成:

    除最后一行之外,每一行是一个长度不超过80的四则运算表达式
    最后一行,是一个=字符
    输入的所有字符均为英文半角字符,题目保证给定的表达式是正确的,不需要做有效性检查,题目保证所有运算数的长度(含小数点)均不超过5位,运算的中间结果和最终结果的绝对值均不超过100000

    输出格式:

    对输入的每个表达式,在一行中给出运算结果,保留1位小数。

    • 输入样例:
    1
    1+2
    3-3.8
    1.32*(4+(-2))
    =
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 输出样例:
    1.0
    3.0
    -0.8
    2.6
    
    • 1
    • 2
    • 3
    • 4

    题解

    import re
    
    expressions = []
    expression = input()
    
    while expression != "=":
        expressions.append(expression)
        expression = input()
    
    for expr in expressions:
        result = eval(expr)
        rounded_result = round(result, 1)
        print(f"{rounded_result:.1f}")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    思路

    这里直接提出这种题的解决方法,就是用py的eval函数,可以直接求解计算式,不需要转后缀之类的方法。如果使用C++或者java解决的话就需要判断优先级转后缀等一系列复杂的操作,很麻烦,网上也只有代码关于代码的讲解很少,所以作者也不太想花太多心理去完全搞懂(懒)。大家想看我在这里给个链接。
    https://blog.csdn.net/weixin_53623850/article/details/121981444

  • 相关阅读:
    自然语言处理历史史诗:NLP的范式演变与Python全实现
    Docker Harbor 私有镜像仓库的部署和管理
    CSGO的那些事儿:CS2这么差,为什么不改回CS1?
    巴斯光年python turtle绘图__附源代码
    若依微服务前后端部署启动流程(只记录)
    从0到1构造自定义限流组件
    ECharts 图形化看板 模板(简单实用)
    鼠标右键使用VSCode打开文件或文件夹配置
    基于JAVA基于MVC框架的在线书店设计计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    数据库(二)
  • 原文地址:https://blog.csdn.net/qq_62235017/article/details/133799605
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号