我剛開始學習python,目前正在編寫一個腳本,將攝氏溫度轉化爲華氏溫度,反之亦然。我已經完成了主要部分,但現在我希望能夠讓用戶設置輸出中顯示的小數位數......第一個函數包含我失敗的嘗試,第二個函數設置爲2位小數。用戶設置的函數中的可變小數點限制?
def convert_f_to_c(t,xx):
c = (t - 32) * (5.0/9)
print "%.%f" % (c, xx)
def convert_c_to_f(t):
f = 1.8 * t + 32
print "%.2f" % f
print "Number of decimal places?"
dec = raw_input(">")
print "(c) Celsius >>> Ferenheit\n(f) Ferenheit >>> Celcius"
option = raw_input(">")
if option == 'c':
cel = int(raw_input("Temperature in Celcius?"))
convert_c_to_f(cel)
else:
fer = int(raw_input("Temperature in Ferenheit?"))
convert_f_to_c(fer,dec)
「%0. * f」%(13,math.pi)的操作對我來說有點令人困惑,因爲*是在%之前定義的......任何原因爲什麼?或者只是約定。 在我的背景下,成爲 '打印 「0%* F」 %(XX,C)' 和它的作品! 謝謝 – AllTheTime1111 2013-05-13 23:11:35
@ AllTheTime1111:閱讀[docs](http://docs.python.org/2/library/stdtypes.html#string-formatting-operations)。我同意這不是最簡單的理解,但它在那裏。特別注意關於精度的部分(編號列表中的第5項解釋轉換說明符)。 – 2013-05-13 23:16:34
''{0:。{1} f}'。format(math.pi,3)'是新方法 – Eric 2013-05-13 23:18:37