python 运算

50>5会返回True,为什么 (1/2)*100 >5 会返回 False
被搞晕了 我哪里出错了 ?

1、Python使用与C、Java类似的运算符,支持整数与浮点数的数学运算。同时还支持复数运算与无穷位数(实际受限于计算机的能力)的整数运算。除了求绝对值函数abs()外,大多数数学函数处于math和cmath模块内。前者用于实数运算,而后者用于复数运算。使用时需要先导入它们,比如:

>>> import math
>>> print(math.sin(math.pi/2))

1.0

fractions模块用于支持分数运算;decimal模块用于支持高精度的浮点数运算。

2、Python定义求余运行a % b的值处于开区间[0, b)内,如果b是负数,开区间变为(b, 0]。这是一个很常见的定义方式。不过其实它依赖于整除的定义。为了让方程式:b * (a // b) + a % b = a恒真,整除运行需要向负无穷小方向取值。比如7 // 3的结果是2,而(-7) // 3的结果却是-3。这个算法与其它很多编程语言不一样,需要注意,它们的整除运算会向0的方向取值。

3、Python允许像数学的常用写法那样连着写两个比较运行符。比如a < b < c与a < b and b < c等价。C++的结果与Python不一样,首先它会先计算a < b,根据两者的大小获得0或者1两个值之一,然后再与c进行比较。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-09
1/2 python计算时取的是整数(因为两个都是整数) 1/2=0.5 取0 3/2=1.5 取1

1%2 计算时取余数 1%2=1
如果你想让你的运算>5 可以这样(1.0/2)*100>5 返回true

多做做就好了 而且这个东西文档应该有介绍的本回答被提问者采纳
第2个回答  2013-05-09
这个还不简单,50本来就大于5,至于第二个,1/2是0,乘以50还是0
是乘100
第3个回答  2013-05-09
0>5 结果肯定是False 应该这样1.0/2.0
相似回答