日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python计算2+4+6+…+20的值_计算2*3+(2*(5+6)*3)/2+4*6的值

發(fā)布時間:2024/10/12 python 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python计算2+4+6+…+20的值_计算2*3+(2*(5+6)*3)/2+4*6的值 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

#include#include#include#include#include#include#include

using namespacestd;bool isOper(charval)

{return ((val == '+') || (val == '-') ||(val == '*') || (val == '/') ||(val == '(') || (val == ')'));

}//把char*字符串拷貝到vector中

void myCopy(vector& container, char*v)

{while(*v != 0)

{if (isOper(*v))

{

container.push_back(*v);

}else{

container.push_back(*v - '0');

}

v++;

}

}void prtVecs(const vector& values, const vector&pris)

{//打印權(quán)重串

for(auto pri : pris)

{

cout<< " " <

}

cout<

for(auto val : values)

{if(isOper(val))

{

cout<< " " <

}else{

cout<< " " << (int)val;

}

}

cout<

}void prtVecs(const vector&values)

{//打印公式串

for(auto val : values)

{if(isOper(val))

{

cout<< " " <

}else{

cout<< " " << (int)val;

}

}

cout<

}//加減乘除計算

int realCal(int first, char oper, intsecond)

{if (oper == '+') return first +second;if (oper == '-') return first -second;if (oper == '*') return first *second;if (oper == '/') return first /second;return -1;

}/*權(quán)重計算:

數(shù)字權(quán)重固定是0,()權(quán)重固定是-1;

加減的基礎權(quán)重是1 乘除的基礎權(quán)重是2 ;

()括號控制附加權(quán)重0, (:附加權(quán)重+2 ):附加權(quán)重-2

[之所以選擇附加權(quán)重為2舉例: 2*(2+3)中要先算加法. 加的基礎權(quán)重1+附加權(quán)重2得到3;乘的基礎權(quán)重2+附加權(quán)重0得到2.所以會先算加法]

加減乘除的最終權(quán)重為 他的基礎權(quán)重+當前附加權(quán)重*/

//values公式串, pris公式串對應的權(quán)重串[in out]

int calPri(const vector& values, vector&pris)

{int basePri = 0; //附加權(quán)重

for(int i = 0; i < values.size(); ++i)

{if (!isOper(values[i]))

{

pris[i]= 0;

}if (values[i] == '(')

{

basePri+=2;

pris[i]= -1;

}if (values[i] == ')')

{

basePri-=2;

pris[i]= -1;

}if ((values[i] == '+') || (values[i] == '-'))

{

pris[i]= 1 +basePri;

}if ((values[i] == '*') || (values[i] == '/'))

{

pris[i]= 2 +basePri;

}

}

}//移除公式串和權(quán)重串中的括號字符

void removeParentheses(vector& values, vector&pris)

{for(int i = values.size(); i >= 0; --i)

{if ((values[i] == '(') || (values[i] == ')'))

{

values.erase(values.begin()+i);

pris.erase(pris.begin()+i);

}

}

}/*獲取可以計算的權(quán)重符的位置:

如果左邊操作符的權(quán)重>= 右邊操作符的權(quán)重,那么左邊操作符的左右數(shù)據(jù)可以進行計算

如果左邊操作符的權(quán)重< 右邊操作符的權(quán)重,那么需要右邊操作符和它的右邊操作符進行比較。*/

int getCalPos(const vector&pris)

{//pris[0]是左數(shù)字, pris[1]是操作符 pris[2]是右數(shù)字

for(int i = 1; i < pris.size(); i+=2)

{if(i+2

{if (pris[i] >= pris[i+2]) //如果左操作符的權(quán)重 >= 右操作符的權(quán)重,那么此左操作符可以計算

{returni;

}

}

}return pris.size() - 2;

}void calResult(vector& values, vector&pris)

{while(values.size() != 1)

{//獲取可以計算的操作符的位置,并進行左右數(shù)字和操作符的計算

int pos =getCalPos(pris);int result = realCal(values[pos-1], values[pos], values[pos+1]);//當左數(shù)字,操作符,右數(shù)字計算完后,刪掉操作符和右數(shù)組的位置,左數(shù)字的位置改成計算結(jié)果。然后繼續(xù)計算。//舉例2*3+4 計算2*3得出6,刪除*這個位置,3這個位置,2這個位置改成6.這樣公式變成6+4.下次循環(huán)繼續(xù)計算6+4

values.erase(values.begin()+pos+1);

pris.erase(pris.begin()+pos+1);

values.erase(values.begin()+pos);

pris.erase(pris.begin()+pos);

values[pos-1] =result;;

prtVecs(values);

}

}intmain()

{//原始字符串

char data[]="2*3+(2*(5+6)*3)/2+4*6";

vectorvalues;

myCopy(values, data);

cout<< "origin:"; prtVecs(values);//prtVecs(values, pris);//計算原始字符串的權(quán)重

vector pris(values.size(),0);

calPri(values, pris);//原始字符串去掉括號

removeParentheses(values,pris);//把括號去掉//prtVecs(values, pris);

calResult(values, pris);

cout<< "result:"; prtVecs(values);

}

總結(jié)

以上是生活随笔為你收集整理的用python计算2+4+6+…+20的值_计算2*3+(2*(5+6)*3)/2+4*6的值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美成人一二三区 | 国产91清纯白嫩初高中在线观看 | 男操女视频免费 | 青娱乐在线免费视频 | 九九爱国产 | com国产| 91sex国产| 99国产精品久久久久久久成人 | 精品一二三区久久aaa片 | a级片毛片 | 欧美爽妇 | 亚洲AV无码国产精品国产剧情 | 日韩成人精品在线观看 | 成年人免费在线视频 | 色欲狠狠躁天天躁无码中文字幕 | 热久久最新网址 | 伊人精品 | 91成人毛片 | 国产永久在线 | 二色av| 国产精品v亚洲精品v日韩精品 | 久久97久久97精品免视看 | 九九视频精品在线 | 亚洲成人精品一区二区三区 | 国模私拍在线观看 | 欧美人妖69xxxxxhd3d | 57pao国产成永久免费视频 | 九九免费在线视频 | 国产91丝袜在线播放0 | 爱逼av| 国产老头户外野战xxxxx | 中文字幕一区二区三区四区不卡 | 欧美少妇一区二区 | 女人和拘做爰正片视频 | 夜夜草av| 久免费一级suv好看的国产 | 日韩一区二区欧美 | 爱爱一区二区三区 | 国产污污在线观看 | 亚洲国产精品女人久久久 | 视频在线观看一区二区 | 人妻一区二区三 | 黄色在线观看网址 | 国产 欧美 精品 | 天天做日日干 | 欧美三级韩国三级日本三斤 | 成人免费网视频 | 最新国产拍偷乱偷精品 | 激情五月深爱五月 | 秋霞福利视频 | 国产综合第一页 | 午夜理伦三级理论 | 爱av在线 | 成人羞羞免费 | 又黄又色又爽 | 熟女人妻aⅴ一区二区三区60路 | 99久久99久久免费精品蜜臀 | 亚洲最大福利网 | 日韩大片av | 青青视频免费观看 | 饥渴的少妇和男按摩师 | 狠狠久久综合 | 少妇的激情 | 欧美高清另类 | 国产精品入口 | 免费成人在线网站 | 日韩精品xxx | 日本少妇激情视频 | 亚洲黄色一区二区三区 | 亚洲老女人av | 少妇又紧又爽视频 | 精品无码av一区二区三区不卡 | 久久伊人免费视频 | 天天插天天狠 | 99久久久久无码国产精品 | 热99在线观看| 日本三级黄在线观看 | 啄木乌欧美一区二区三区 | 看毛片视频 | 国产波霸爆乳一区二区 | 蜜桃视频一区二区三区 | 动漫美女被到爽 | 69看片| 亚洲人成在线播放 | 精品中文字幕一区二区三区 | wwwxx国产| 三级特黄| 奇米亚洲 | www.黄色大片| 嫩草视频在线看 | 国模吧一区二区三区 | 三级a级片 | mm1313亚洲国产精品无码试看 | 91九色porny视频| 色99在线 | 三a大片| 91精选 | 黑鬼大战白妞高潮喷白浆 | 越南a级片|