0
此代碼打印17,但我希望使用浮點執行除法(所以它應該打印17.5)。我該如何強制該部門處於浮點狀態?在特殊情況下強制劃分爲Python中的浮點
math = 8
physics = 9.5
algebra = 7.50
geometry = 10
**print "My GPA is %d" % ((math + physics + algebra + geometry)/2)**
此代碼打印17,但我希望使用浮點執行除法(所以它應該打印17.5)。我該如何強制該部門處於浮點狀態?在特殊情況下強制劃分爲Python中的浮點
math = 8
physics = 9.5
algebra = 7.50
geometry = 10
**print "My GPA is %d" % ((math + physics + algebra + geometry)/2)**
%d
用於整數,浮點數爲使用%f
。使用浮點數%d
將只打印小數部分。
>>> print "My GPA is %f" % ((math + physics + algebra + geometry)/2)
My GPA is 17.500000
或:
>>> print "My GPA is %.1f" % ((math + physics + algebra + geometry)/2)
My GPA is 17.5
採用新樣式的字符串格式化:
>>> print "My GPA is {:.1f}" .format((math + physics + algebra + geometry)/2)
My GPA is 17.5
還要注意在py2.x整數除法截斷輸出,並返回一個整數。
要解決這個問題,您應該至少將其中一個操作數轉換爲浮點型。
>>> 3/2
1
>>> 3/float(2)
1.5
>>> 3/2.
1.5
或進口python3.x的divison
:
>>> from __future__ import division
>>> 3/2
1.5
也可能是值得一提的'從__future__進口division'的情況下,所有的分數都是整數,OP是使用Python 2.x版本 – Aya