你需要的东西,如:
ylist = [float(x)*15*100 for x in range(15,21)]
?
这将返回:
[22500.0, 24000.0, 25500.0, 27000.0, 28500.0, 30000.0]
我不太清楚你Ÿ列意味着什么,因为你的公式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)]
如果计算所有的值都int
类型,蟒蛇将创建一个int
为结果。另一方面,如果其中之一是float
或double
,那将是结果的类型。
这种强制可以通过使用float(x)
明确地完成,或者简单地将你的一个常量表示为浮点值,如100.0
。
至于小数点后两位的需要,它取决于你需要做的值。
一种方法是使用round
到小数点后2位,如:
ylist = [round(15.0/x*100.0, 2) for x in range(15,21)]
如果你总是需要小数点后两位,可能是你想使用字符串格式化,检查@mgilson该回复。
downvoting他的第一个问题肯定会鼓励他。 – arynaq 2013-04-08 14:28:58
我对你正在寻找的输出感到困惑。我不明白这个例子与你的第一个陈述有什么关系。 – 2013-04-08 14:30:53
我想,你想说'1500/x',而不是'x * 1500' – soon 2013-04-08 14:32:39