2016-12-01 9 views
0

変数cを印刷しようとしていますが、いつでも「電気代:$□」と表示されます。しかしprint(c)で変数cを出力すると "6.122448979591836"となります。だから%rightで変数を代入するのは何かに違いありませんか?私はPython 3.5.2 btwを使用しています。また、私は6.12と表示される番号が必要とラウンド(c、2)を使用して何もしません。それはintではないからですか?変数を印刷するときにボックスが表示され続ける

# print #100 Cost of Electricity 
print("#100 Cost of Electricity") 
# get wattage 
w = int(input("Enter wattage: ")) 
# get hours used 
h = int(input("Enter number of hours used: ")) 
# get price per/kWh 
p = float(input("Enter price per kWh in cents: ")) 
# calculate cost 
c = w*h/(1000*p) 
# print price 
print("Cost of electricity: $%c" % int(c)) 

これ以上は重要ではありませんが、どうして私は混乱したのですか?私はASCII値に基づいて表示されているので、%cを使用していませんでした。私は%(変数名)を入れなければならないと思ったので、%cを置かなければならないと思った。あなたが通常使っているのは%sか%rで、変数名は後で入ることを忘れていました。 Python 2の古い本には、%rは生データを表示するためのもので、%sはユーザーに表示するためのものです。

答えて

1

使用:

print("Cost of electricity: $%.2f" % c) 

'F' フラグは、浮動小数点形式のためのものです。 '.2'は10進数の後2桁を表示します。

関連する問題