Python用作计算器(50)*

看完大大的解答才知道原来我写的计算器太“死”了,只能实现固定的程序,如果需要改数据,得重新编程,这是一件非常麻烦的事情。所以大大的高配版计算器是能手动输入算式的,甚至可以不用每次点执行,实现循环输入。

python大大的图

图片发自简书App
图片发自简书App

我的图

图片发自简书App

这么写虽然能实现自定义输入,但是每一次输入前都要点执行。这里出了两个比较生的函数raw_input()和eval()

关于input()和raw_input()的区别可以参考http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html

自己输一下代码就能理解它们的差别了

图片发自简书App
图片发自简书App

input() 本质上还是使用 raw_input() 来实现的,除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

eval()是一个很神奇的函数,它可以把字符串str当成有效的表达式来求值并返回计算结果。而且它可以把字符串转化为列表、字典或者元组。网上有很多解析都写得非常详细。在这里的用法就相当于做加减乘除那些运算。

https://www.cnblogs.com/liu-shuai/

http://blog.csdn.net/qq_29883591/article/details/53443062

这么写是很麻烦的,每一个算式都要点执行。于是大大又给出了一种更高端的写法

图片发自简书App

这里的逻辑在这里。用一个无限的循环把接收输入的语句“困”起来,然后就可以不停的来接收我们输入,然后输出计算结果了。以while 1打头的循环将不断运行,直到遇到break语句,这个程序中的循环不断输入算式,直到用户输入0为止。用户输入0后将执行break语句,导致python跳出循环。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容