中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 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

黄石市| 开平市| 庆阳市| 吉木乃县| 大足县| 巴里| 高阳县| 玛曲县| 甘洛县| 永泰县| 大石桥市| 固原市| 胶南市| 吉木萨尔县| 曲水县| 克山县| 都安| 温州市| 遂溪县| 米脂县| 江城| 左权县| 大余县| 义马市| 留坝县| 日土县| 曲松县| 惠东县| 池州市| 遂宁市| 大石桥市| 福贡县| 定边县| 杭锦旗| 扎赉特旗| 丁青县| 庆云县| 安泽县| 裕民县| 江津市| 夏河县|