你需要类似的东西:
ylist = [float(x)*15*100 for x in range(15,21)]
?
这将返回:
[22500.0, 24000.0, 25500.0, 27000.0, 28500.0, 30000.0]
我不太确定您的 Y 列是什么意思,因为您的公式15*x*100
不会生成这些值。
如果您实际上是说x*100/15
,那将是:
ylist = [15/float(x)*100 for x in range(15,21)]
或者更简单:
ylist = [15.0/x*100.0 for x in range(15,21)]
如果计算中的所有值都是 type int
,python 将创建一个int
作为结果。另一方面,如果其中一个是 afloat
或double
,那将是结果的类型。
这种强制既可以显式使用float(x)
,也可以简单地将其中一个常量表示为浮点值,例如100.0
.
至于需要 2 位小数,这取决于您需要对这些值做什么。
一种方法是使用round
2 位小数,例如:
ylist = [round(15.0/x*100.0, 2) for x in range(15,21)]
如果您总是需要两位小数,可能您会想要使用字符串格式,请查看@mgilson 回复。