91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • Python編寫一個計算器程序,實現加減乘除和取余二元運算的方法有哪些

Python編寫一個計算器程序,實現加減乘除和取余二元運算的方法有哪些

發布時間:2020-08-10 11:25:36 來源:億速云 閱讀:501 作者:小新 欄目:開發技術

這篇文章主要介紹Python編寫一個計算器程序,實現加減乘除和取余二元運算的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

方法一

結合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編寫一個計算器程序,實現加減乘除和取余二元運算的方法有哪些的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐昌市| 新沂市| 吕梁市| 九龙城区| 四子王旗| 铜川市| 韶山市| 吉木萨尔县| 济源市| 长寿区| 顺昌县| 称多县| 松江区| 扎囊县| 新闻| 密云县| 泰顺县| 江西省| 富顺县| 崇文区| 芦溪县| 濮阳县| 武陟县| 新丰县| 临颍县| 温州市| 二连浩特市| 遂川县| 青冈县| 铁岭市| 石嘴山市| 赤峰市| 福泉市| 大化| 福安市| 天柱县| 潢川县| 九龙城区| 武城县| 陵川县| 蕉岭县|