3#Number of lines in each file

inputLines = sum(1 for line in open(current_file))

outputLines = sum(1 for line in open(output_file))

然后得到比率:

1ratio = inputLines/outputLines

但这个比率似乎总是一个整数和整数,即使我像这样初始化它:

1ratio = 1.0

在python 2中,两个整数的除法的结果总是一个整数。要强制执行浮点除法,需要在除法中至少使用一个浮点:

ratio = float(inputLines)/outputLines

注意不要执行ratio = float(inputLines/outputLines):虽然这会导致一个浮点,但它是在执行整数除法之后获得的,因此结果将是"错误的"(如"不是您所期望的")。

在python 3中,整数除法的行为发生了变化,两个整数的除法产生了一个浮点。您也可以在python 2.7中使用此功能,方法是将from __future__ import division放在乞讨文件中。

ratio = 1.0不起作用的原因是类型(在python中)是值的属性,而不是变量——换句话说,变量没有类型。

本问题已经有最佳答案,请猛点这里访问。我似乎在这个网站上找不到答案,尽管这似乎足够普遍。我试图输出两个文件中行数之比的双精度值。123#Number of lines in each fileinputLines = sum(1 for line in open(current_file))outputLines = sum(1 for line in open(output_file))然后得到...
整数就是没有小数部分的数字, Python 中的整数包括正整数、0 和负整数。 有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了 short、 int 、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。 而 Python 则不...
项目中数据分析需要将PLC中寄存器值导出分析,PLC中寄存器数值是存成xml格式按位存储的,需要解析后再还原成 double 形式。 #分析HD寄存器参数 from xml.dom.minidom import parse import struct from matplotlib import pyplot as plt XmlFile = parse(r’plcdata.xmd’) XmlContent = XmlFile.documentElement data_len = 191; valstructs
long a= 100L; float b=10F; long a= 10000000000;//这时是默认为 int ,当赋值超过 int 的范围的时候就会报错;没有超过 int 范围的时候 int 为long是安全的,会自动 ,能编译通过 float b=10.01
python 中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1、修改被除数的值为带小数点的形式即可得到浮点值,这种方法在被除数事先知道的情况下才可以采用有效,而这种情况意味着被除数的值是写死的、固定的,在绝大多数的情况下是不可行的; 2、在进行除法运算前导入一个实除法的模块,即可在两个整数
>>> int (vr) 但是大部分情况是对list数据进行 化,则:方法一:使用map(eval,vr)>>> vr=['1','2','3'] >>>
Python 中,可以使用内置函数` int ()`和`float()`来进行整数和浮点数之间的 转换 。如果你有一个整数,想要将其 转换 为浮点数,可以使用`float()`函数。例如: ``` python num = 5 num_float = float(num) pr int (num_float) # 输出 5.0 如果你有一个浮点数,想要将其 转换 为整数,可以使用` int ()`函数。这将截断小数部分并返回整数部分。例如: ``` python num = 5.8 num_ int = int (num) pr int (num_ int ) # 输出 5 请注意,将浮点数 转换 为整数时,小数部分将被丢弃,并且不会进行四舍五入。