基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算


Posted in Python onAugust 05, 2020

方法一

结合lambda表达式、函数调用运算符、标准库函数对象、C++11标准新增的标准库function类型,编写一个简单的计算器,可实现简单的加、减、乘、除、取余二元运算。代码如下:

#include "pch.h"
#include <iostream>
#include <functional>
#include <map>
#include <string>
using namespace std;
 
int add(int i, int j)
{
	return i + j;
}
 
// 使用函数调用运算符
struct divide
{
	int operator()(int i, int j)
	{
		return i / j;
	}
};
 
auto mod = [](int i, int j) {return i % j; };
 
map<string, function<int(int, int)>> binops = 
{
 {"+", add},         // 使用函数指针
 {"-", minus<int>()},       // 使用标准库函数对象
 {"*", [](int i, int j) {return i * j; }}, // 使用未命名的lambda表达式
 {"/", divide()},        // 使用函数调用运算符
 {"%", mod}         // 命名了的lambda表达式
};
 
int main()
{
	int num1, num2;
	string s;
 
	while (cin >> num1)
	{
		cin >> s >> num2;
		cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl;
	}
 
	return 0;
}

运行结果如下:

基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

方法二

方法一中使用了很多C++11标准新增的功能,比如关联容容器map使用的列表初始化、标准库function类型、lambda表达式都是C++11标准新增的特性。下面方法二只简单使用了函数指针来实现。

#include "pch.h"
#include <iostream>
#include <functional>
#include <map>
#include <string>
using namespace std;
 
typedef int Func(int, int);
 
int add(int i, int j)
{
	return i + j;
}
 
int subtract(int i, int j)
{
	return i - j;
}
 
int multiply(int i, int j)
{
	return i * j;
}
 
int divide(int i, int j)
{
	return i / j;
}
 
int mod(int i, int j)
{
	return i % j;
}
 
map<string, Func*> binops;
 
int main()
{
	binops.insert(make_pair("+", add));
	binops.insert(make_pair("-", subtract));
	binops.insert(make_pair("*", multiply));
	binops.insert(make_pair("/", divide));
	binops.insert(make_pair("%", mod));
	
	int num1, num2;
	string s;
	while (cin >> num1)
	{
		cin >> s >> num2;
		cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl;
	}
 
	return 0;
}

运行结果:

基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算

到此这篇关于基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算的文章就介绍到这了,更多相关Python计算器程序内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python根据距离和时长计算配速示例
Feb 16 Python
python操作xml文件示例
Apr 07 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
python爬虫URL重试机制的实现方法(python2.7以及python3.5)
Dec 18 Python
在Python中使用Neo4j的方法
Mar 14 Python
学习Django知识点分享
Sep 11 Python
pytorch 实现在预训练模型的 input上增减通道
Jan 06 Python
Pytorch实现神经网络的分类方式
Jan 08 Python
Python随机数函数代码实例解析
Feb 09 Python
python如何爬取动态网站
Sep 09 Python
Matplotlib中rcParams使用方法
Jan 05 Python
Python实现自动玩连连看的脚本分享
Apr 04 Python
python中逻辑与或(and、or)和按位与或异或(&amp;、|、^)区别
Aug 05 #Python
Node.js 和 Python之间该选择哪个?
Aug 05 #Python
基于python图书馆管理系统设计实例详解
Aug 05 #Python
基于Python的一个自动录入表格的小程序
Aug 05 #Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 #Python
Python如何读写字节数据
Aug 05 #Python
python中Django文件上传方法详解
Aug 05 #Python
You might like
php中this关键字用法分析
2016/12/07 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
DOM 事件的深入浅出(一)
2016/12/05 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
详解JS数值Number类型
2018/02/07 Javascript
详解微信UnionID作用
2019/05/15 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
python list中append()与extend()用法分享
2013/03/24 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
python读取Excel表格文件的方法
2019/09/02 Python
python调用接口的4种方式代码实例
2019/11/19 Python
python实现实时视频流播放代码实例
2020/01/11 Python
一文带你了解Python 四种常见基础爬虫方法介绍
2020/12/04 Python
阿里旅行:飞猪
2017/01/05 全球购物
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
鲜果饮品店创业计划书
2014/01/21 职场文书
超市总经理岗位职责
2014/02/02 职场文书
企业员工培训感言
2014/02/26 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
物业工程部岗位职责
2015/02/11 职场文书
立案决定书范文
2015/06/24 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
关于JavaScript轮播图的实现
2021/11/20 Javascript
python flappy bird小游戏分步实现流程
2022/02/15 Python