华为机试,第11题,奇怪的四则运算代码

题目描述
输入一个表达式(用字符串表示),求这个表达式的值。
保证字符串中的有效字符包括[‘0’-‘9’],‘+’,‘-’, ‘*’,‘/’ ,‘(’, ‘)’,‘[’, ‘]’,‘{’ ,‘}’。且表达式一定合法。

输入描述:
输入一个算术表达式

输出描述:
得到计算结果

示例1
输入
复制
3+2{1+2[-4/(8-6)+7]}
输出
复制
25

  • 无序列表内容
  • 无序列表内容
    while True:
    try :

    没搞懂为什么有的代码里需要替换这些大括号和方扩号,有的代码不需要

    并且该代码没有通过自测试例,但是却通过了最终的提交

      str1=input()
      str1.replace("[","(")
      #print("str1:",str1)
      str1.replace("{","(")
      #print("str2:",str1)
      str1.replace("]",")")
      #print("str3:",str1)
      str1.replace("}",")")
      #print("str4:",str1)
      str2=eval(str1)
      print(str2)
    except:
      break
全部评论

相关推荐

2025-12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务