华为机试,第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
全部评论

相关推荐

不愿透露姓名的神秘牛友
10-29 21:14
疯犬丨哈士奇:喜欢你的人会主动表白,对你有想法的人会很主动,所以要你的公司不会吊着你所以懂了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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