当前位置: 首页 > 面试题库 >

Python分部

古扬
2023-03-14
问题内容

我试图将一组从-100到0的数字归一化到10-100的范围,并且遇到了问题,只是注意到即使根本没有任何变量,这也无法评估我期望的方式:

>>> (20-10) / (100-10)
0

浮动划分也不起作用:

>>> float((20-10) / (100-10))
0.0

如果除法的任一侧都转换为浮点数,它将起作用:

>>> (20-10) / float((100-10))
0.1111111111111111

第一个示例中的每一边都被评估为一个int,这意味着最终答案将被转换为一个int。由于0.111小于.5,因此将其舍入为0。在我看来,这不是透明的,但我想是这样的。

有什么解释?


问题答案:

你使用的是Python 2.x,其中整数除法将被截断而不是变成浮点数。

>>> 1 / 2
0

你应该将其中一个设为float:

>>> float(10 - 20) / (100 - 10)
-0.1111111111111111

from __future__ import division,强制/采用总是返回float的Python 3.x行为。

>>> from __future__ import division
>>> (10 - 20) / (100 - 10)
-0.1111111111111111


 类似资料:
  • 使用Python虚拟环境 Mac中使用virtualenv和virtualenvwrapper

  • 问题内容: 我一直在使用Python,并且设置了以下代码情况: 结果如下: 为什么调用部分函数需要更长的时间?局部函数只是将参数转发到原始函数还是在整个过程中映射静态参数?而且,在所有参数都已预定义的情况下,Python中是否有一个函数可以返回填充的函数主体,例如函数i? 问题答案: 为什么调用部分函数需要更长的时间? 由于附加的函数调用,的代码花费的时间大约是原来的两倍。函数调用很昂贵: Pyt

  • 问题内容: 我想使用主成分分析(PCA)进行降维。是否已经有numpy或scipy,或者我必须使用自己滚动? 我不只是想使用奇异值分解(SVD),因为我的输入数据具有很高的维数(约460个维数),因此我认为SVD比计算协方差矩阵的特征向量要慢。 我希望找到一个预制的,已调试的实现,该实现已经对何时使用哪种方法以及哪些可能进行的其他优化进行了正确的决策,而这些优化我都不知道。 问题答案: 您可以看看

  • 打发无聊时间翻译的 Stack Overflow 关于 Python 的部分,一来是为了学习 Python,二来是为了学习英语,就这样,按 vote 排名翻译。

  • 问题内容: 如果我们在python中有一个,并且想要基于一些特殊的条件创建子列表,我们应该怎么做? 例如: 会产生: 问题答案: itertools.groupby是一种方法(通常是这样): 由于这种特殊情况,我们甚至可以作弊:

  • 问题内容: 如何让我的朋友使用我的Python程序?他们没有安装python,但可以使用命令行程序。我没有编写GUI的技能。 假设我正在编写一些微积分计算器,其中包含许多自定义模块和文件。我该如何分享? 问题答案: 您可以使用py2exe之类的东西将Python程序转换为可执行文件。