你需要的東西,如:
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