简单的计算器就是加减乘除与乘方运算,当然大部分的计算器还可以进行一些复杂的计算,比如求平均值,开根以及求方差之类的。
如何不用if与else实现一个简单的计算器功能呢?
开始这个小例子之前,大家要弄清楚,在python语言中字典dict的get()方法
get()是返回Python 字典(Dictionary)指定键的值
语法是:
dict.get(key[, value])
参数说明一下:
key是字典中的键
value,可选 ,如果指定键不存在的时候,value值将作为默认值返回。
比如下面的例子:
大家猜猜上面的程序执行后,输出的结果依次是什么?
依次为:
6yhj
None
50
明白了吗?
接下来,这里我们继续用到python中的内置运行模块operator—标准运算符替代函数
看下表
相当于说,我们只要导入operator模块
add(a,b)就表示a+b
mul(a,b)就表示a*b
sub(a,b)就表示a-b
明白这些后,我们来看一下简单计算器如何写代码
from operator import * def calculator(a,b,k): ways={ '+': add, '-': sub, '*': mul, '/': truediv, '**': pow, } return ways.get(k,add)(a,b) print(calculator(2,3,'#')) print(calculator(3, 4, '+')) print(calculator(3, 4, '**'))
最后执行的结果如下:
5
7
81
第一个calculator(2,3,’#’)中键值#是不存在的,那为什么会得到5这个值呢?
因为定义calculator这个函数的时候,最后的返回值中get(k,add)给了一个默认值为add,所以当不存在对应的键时候就会返回这add相加。
标签: