欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡(jiǎn)單的加減乘除和取余二元運(yùn)算

 更新時(shí)間:2020年08月05日 10:17:28   作者:酒紅  
這篇文章主要介紹了基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡(jiǎn)單的加減乘除和取余二元運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

方法一

結(jié)合lambda表達(dá)式、函數(shù)調(diào)用運(yùn)算符、標(biāo)準(zhǔn)庫(kù)函數(shù)對(duì)象、C++11標(biāo)準(zhǔn)新增的標(biāo)準(zhǔn)庫(kù)function類型,編寫一個(gè)簡(jiǎn)單的計(jì)算器,可實(shí)現(xiàn)簡(jiǎn)單的加、減、乘、除、取余二元運(yùn)算。代碼如下:

#include "pch.h"
#include <iostream>
#include <functional>
#include <map>
#include <string>
using namespace std;
 
int add(int i, int j)
{
	return i + j;
}
 
// 使用函數(shù)調(diào)用運(yùn)算符
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},         // 使用函數(shù)指針
 {"-", minus<int>()},       // 使用標(biāo)準(zhǔn)庫(kù)函數(shù)對(duì)象
 {"*", [](int i, int j) {return i * j; }}, // 使用未命名的lambda表達(dá)式
 {"/", divide()},        // 使用函數(shù)調(diào)用運(yùn)算符
 {"%", mod}         // 命名了的lambda表達(dá)式
};
 
int main()
{
	int num1, num2;
	string s;
 
	while (cin >> num1)
	{
		cin >> s >> num2;
		cout << num1 << s << num2 << "=" << binops[s](num1, num2) << endl;
	}
 
	return 0;
}

運(yùn)行結(jié)果如下:

方法二

方法一中使用了很多C++11標(biāo)準(zhǔn)新增的功能,比如關(guān)聯(lián)容容器map使用的列表初始化、標(biāo)準(zhǔn)庫(kù)function類型、lambda表達(dá)式都是C++11標(biāo)準(zhǔn)新增的特性。下面方法二只簡(jiǎn)單使用了函數(shù)指針來實(shí)現(xiàn)。

#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;
}

運(yùn)行結(jié)果:

到此這篇關(guān)于基于Python編寫一個(gè)計(jì)算器程序,實(shí)現(xiàn)簡(jiǎn)單的加減乘除和取余二元運(yùn)算的文章就介紹到這了,更多相關(guān)Python計(jì)算器程序內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 字典中的所有方法及用法

    Python 字典中的所有方法及用法

    這篇文章主要介紹了Python 字典中的所有方法及用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 解決Python下imread,imwrite不支持中文的問題

    解決Python下imread,imwrite不支持中文的問題

    今天小編就為大家分享一篇解決Python下imread,imwrite不支持中文的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解django+django-celery+celery的整合實(shí)戰(zhàn)

    詳解django+django-celery+celery的整合實(shí)戰(zhàn)

    這篇文章主要介紹了詳解django+django-celery+celery的整合實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 使用pyplot.matshow()函數(shù)添加繪圖標(biāo)題

    使用pyplot.matshow()函數(shù)添加繪圖標(biāo)題

    這篇文章主要介紹了使用pyplot.matshow()函數(shù)添加繪圖標(biāo)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python中對(duì)信號(hào)的處理詳解

    python中對(duì)信號(hào)的處理詳解

    這篇文章主要給大家介紹了關(guān)于python中對(duì)信號(hào)處理的相關(guān)資料, 計(jì)算機(jī)借助信號(hào)來接收和發(fā)送各種命令,操作系統(tǒng)針對(duì)其編程要接收或生成的每種命令列出了至少一個(gè)信號(hào),需要的朋友可以參考下
    2021-07-07
  • Python實(shí)現(xiàn)簡(jiǎn)單查找最長(zhǎng)子串功能示例

    Python實(shí)現(xiàn)簡(jiǎn)單查找最長(zhǎng)子串功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單查找最長(zhǎng)子串功能,涉及字符串遍歷、統(tǒng)計(jì)等相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • Python filter()及reduce()函數(shù)使用方法解析

    Python filter()及reduce()函數(shù)使用方法解析

    這篇文章主要介紹了Python filter()及reduce()函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解如何利用Python繪制科赫曲線

    詳解如何利用Python繪制科赫曲線

    科赫曲線是一種像雪花的幾何曲線,所以又稱為雪花曲線,它是de Rham曲線的特例。本文將利用Python語言實(shí)現(xiàn)這一曲線,需要的可以參考一下
    2022-05-05
  • 一文詳解Python中PO模式的設(shè)計(jì)與實(shí)現(xiàn)

    一文詳解Python中PO模式的設(shè)計(jì)與實(shí)現(xiàn)

    在使用 Python 進(jìn)行編碼的時(shí)候,會(huì)使用自身自帶的編碼設(shè)計(jì)格式,比如說最常見的單例模式等。本文將為大家介紹PageObject自動(dòng)化設(shè)計(jì)模式(PO模式)的設(shè)計(jì)與實(shí)現(xiàn),感興趣的可以了解一下
    2022-06-06
  • Python打包模塊wheel的使用方法與將python包發(fā)布到PyPI的方法詳解

    Python打包模塊wheel的使用方法與將python包發(fā)布到PyPI的方法詳解

    這篇文章主要介紹了Python打包模塊wheel的使用方法與將python包發(fā)布到PyPI的方法詳解,需要的朋友可以參考下
    2020-02-02

最新評(píng)論