2012-12-26 68 views
0

嗨,所以我剛剛進入python幾天前,我正在從一本書的工作。我應該在一塊土地上找到物業稅和評估稅。爲什麼不是這個代碼返回一個浮點數? (python 2.7.3)

def assessment_value(property_value): 
    assessed_value = property_value * 0.60 
    print "Your assessed property value is $%d." % assessed_value 
    property_tax(assessed_value) 

def property_tax(assessed_value): 
    tax = (assessed_value/100.0) * 0.64 
    print "Your property tax is $%d." % tax 

def main(): 
    property_value = float(raw_input("Please enter the value of your property. ")) 
    assessment_value(property_value) 

main() 

當所有東西都以10000作爲屬性值運行時,我得到的結果是38而不是38.4。令我困惑的是,如果我做float(60)* 0.64,它返回我想要的值,即38.4。但是,如果我將稅值設置爲60,則返回38.對不起,如果這是一個非常簡單的問題,我說我是python的新手,我沒有人幫助我。

回答

1

這是因爲您使用%d。對於浮動,您可以使用%f%.2f

+0

謝謝我知道它必須是簡單的。但我不認爲這會很簡單。我真的很感謝你們的幫助。 – user1930497

相關問題