许多语言都有内置函数eval,eval的全称是evaluate(求值、评估的意思),这些语言有JavaScript,Python,PHP,Ruby,Perl,Lua,该函数传入一个字符串,返回字符串求值后的结果。

eval函数范例
由此可以设计一个控制台程序,在while循环中,每次输入一个算术表达式,如果表达式不为空就计算该表达式的值,否则跳出while循环,实现科学计算器的效果。
代码基本框架:

while循环
测试一下;

为了防止输入的表达式有误,程序意外报错退出,我们用try/except语句块,把可能出现的error思考进去,单独创建一个eval函数,函数主要部分如下:

myeval函数正常情况下返回表达式的值,如果有异常返回None。
from math import *
# 导入math库,可以调用常用的数学函数
def myeval(expr):
try:
result = eval(expr)
return result
except Exception as e:
# 其他未预料到的异常
print('表达式错误.')
finally:
pass
print('请输入算术表达式')
while True:
s1=input()
if s1.strip()=="":
print('程序退出');
break
else:
res=myeval(s1)
if res!=None:
print('表达式的结果是:',res)
print('请继续输入算术表达式,退出请直接按回车')
代码运行结果如下:

代码完成后,在桌面新建一个bat文件,bat文件里敲下 “python python代码的绝对路径”,每次双击bat文件即可!

© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录

2的10次方,用2**10,不是2^10