[编程题]四则运算

四则运算

http://www.nowcoder.com/questionTerminal/9999764a61484d819056f807d2a91f1e

py不识别{}和[],替换为();
eval最后返回带有小数点要加个int;
replace返回新的字符串;
最后看了下java代码,只想说py大法好。。。。。

a=input()
a=a.replace("{","(")
a=a.replace("}",")")
a=a.replace("[","(")
a=a.replace("]",")")
print(int(eval(a)))
全部评论
考官:请编写代码实现一个py解释器
4 回复 分享
发布于 2020-11-17 16:41
java用ScriptEngine也可以很快速的实现 s = s.replace('[','('); s = s.replace('{','('); s = s.replace(']',')'); s = s.replace('}',')'); ScriptEngine se = new ScriptEngineManager().getEngineByName("JavaScript"); result = (Double) se.eval(s);
1 回复 分享
发布于 2021-01-27 11:33
哈哈,我用的是JavaScript的eval()。机试快速得出结果是第一要务。
1 回复 分享
发布于 2021-01-15 09:13
a=input() a=a.replace("{","(") a=a.replace("}",")") a=a.replace("[","(") a=a.replace("]",")") print(int(eval(a)))
1 回复 分享
发布于 2020-02-02 22:08
这楼主画蛇添足
点赞 回复 分享
发布于 2021-06-12 08:35
你这样计算5/2结果就是2而不是2.5了,根本不是四则运算
点赞 回复 分享
发布于 2020-08-23 16:48

相关推荐

评论
37
8
分享

创作者周榜

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