Python语言课程算术运算与算术表达式的牵线

来源:http://www.sh-fengwen.com 作者:家常菜谱 人气:184 发布时间:2019-09-05
摘要:Python语言教程在我们学习的过程中有很多的知识需要仔细的学习。下面我们就详细的向大家介绍算术运算符与算术表达式的。希望对大家有所帮助。无论使用什么语言,我们编写的大多

Python语言教程在我们学习的过程中有很多的知识需要仔细的学习。下面我们就详细的向大家介绍算术运算符与算术表达式的。希望对大家有所帮助。无论使用什么语言,我们编写的大多数代码逻辑行)都包含表达式。

在表达式求值时先将表达式转换为逆波兰表达式,然后再继续对分析出来的逆波兰表达式进行求值。

  • Python绑定C++程序具体实现方法浅谈
  • 电子游戏美高梅网址,Python显示UTF-8中文文本具体操作方法讲
  • Python对象主要特征解析
  • 简述Python语言经验总结
  • Python脚本解决在游戏开发中的困难

美高梅游戏平台网站,我在写这个表达式求值算法时参考了在天空飞翔的两篇文章,在此感谢这位大哥的好文章美高梅游戏平台网站 1

一个表达式可以分解为运算符和操作数,运算符的功能是完成某件事,它们由一些数学运算符号或者其他特定的关键字表示;运算符需要数据来进行运算,这样的数据被称为操作数。例如,2

支持函数,变量的算术表达式计算(一、计算后缀表达式)

  • 3是一个简单的表达式,其中+是运算符,2和3是操作数。

支持函数,变量的算术表达式计算(二、中缀转后缀)

算术运算符与算术表达式

详细的理论我就不明说了,我只简单说说我这表达式求值的处理过程,假如有以下表达:“1+3*5>5”

算术运算符是程序设计语言最基本的运算符。Python语言教程提供的算术运算符除了+、-、*、/、%求余)之外,还提供了两种C#中未提供的运算符:求幂**)和取整除//)。下面我们通过一段代码来理解这两个算术运算符:

当调用表达求值方法ExpressionEvaluator.Eval()时,则优先调用ExpressionEvaluator.ParseExpression()将表达式解析为逆波兰表达式(使用ExpressionParser对以上表达式分解出所有节点(操作数与操作符)再进一步处理生成逆波兰表达式),也即为如下样式:

#-*-coding:utf-8-*-   x = 3.3   y = 2.2   a = x**y   print a #输出13.827086118,即3.3的2.2次幂,在C#中可用Pow方法实现幂运算   b = x//y   print b #输出1.0,取整除返回商的整数部分  c = x/y11 print c#输出1.5,注意体会普通除与取整除的区别 

“1 3 5 * + 5 >”

赋值运算符与赋值表达式

然后再使用ExpressionEvaluator.CalcExpression()方法对此逆波兰表达式进行计算求出最终结果。

赋值就是给一个变量赋一个新值,除了简单的 = 赋值之外,Python和C#都支持复合赋值,例如x += 5,等价于 x = x + 5。

具体的可以直接查看源代码:)

Python语言教程不支持C#中的自增和自减运算符,例如x++这种语句在Python中会被提示语法错误。C#程序员可能用惯了这种表达方式要不为什么叫C++++呢),在Python中,请老老实实的写x += 1就是了。

注:此表达式求值方法支持以下计算:

本文由美高梅游戏平台网站发布于家常菜谱,转载请注明出处:Python语言课程算术运算与算术表达式的牵线

关键词:

上一篇:没有了

下一篇:Python抓取的具体应用解答

最火资讯