打印变量时我不断收到一个盒子

时间:2016-12-01 06:22:59

标签: python python-3.x

我试图打印变量c,但每当我这样做时,我会得到"电费:$□"。但是,如果我用print(c)打印变量c,我得到" 6.122448979591836"。所以它必须是用%右替换变量?我使用的是Python 3.5.2顺便说一句。此外,我需要显示的数字是6.12并使用round(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))

不再重要,但我想到为什么我这么困惑。我没有使用%c,因为它是根据ASCII值显示的。我以为我必须放%c因为我认为我必须放%(变量名)。我忘了你通常使用的是%s或%r,变量名称稍后会出现。我对Python 2的一本旧书说%r用于显示原始数据,%s用于向用户显示。

1 个答案:

答案 0 :(得分:1)

使用:

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

'f'标志用于浮点格式。 '。'表示在小数点后打印2位数。