python初學者的一個問題:在Python中查找百分比
任何人都知道20/200 * 100是10.但python說0!
檢查這個代碼:
print 20/200*100
你知道爲什麼發生這種情況,如何解決這個問題?
python初學者的一個問題:在Python中查找百分比
任何人都知道20/200 * 100是10.但python說0!
檢查這個代碼:
print 20/200*100
你知道爲什麼發生這種情況,如何解決這個問題?
爲什麼發生這種情況:
20/200 is 0.01
0.01 -> int = 0
0*100 = 0
如何解決:
用途:
print float(20)/200*100
或:
print 20.0*100/200
但需要注意的是它不支持變量。
'20 * 100/200'不是一個好的解決方案 - 想象一下,如果OP想要以百分比計算「21/200」,會發生什麼。另外,你只需要浮動分部中的一個浮點值。因此,float(20)/ 200 * 100'就足夠了。 – inspectorG4dget
如果你使用常量,使用:20.0 * 100.0/200.0。 –
在Python2,/
是截短的除法如果兩個參數都爲INT
可以只使用一個float
文字而不是一個int轉換爲浮動
>>> 20/200.0*100
10.0
或100.0第一,如果乘其他兩個變量是INT
>>> 100.0*20/200
10.0
很好的答案。但它不會支持變量。 –
@Nandakumar,如果有幫助,你可以使用'100.0 * 20/200' –
print (20/float(200)*100)
如果答案將是十進制數,則使用float(x)
作爲分子或分母
由於整數除法,這發生在Python 2中,但不是3。您可以將'from __future__ import division'放在文件的開頭,以獲得預期的行爲。 –