def main():
M = float(input('Please enter sales for Monday: '))
T = float(input('Please enter sales for Tuesday: '))
W = float(input('Please enter sales for Wednesday: '))
R = float(input('Please enter sales for Thursday: '))
F = float(input('Please enter sales for Friday: '))
sales = [M, T, W, R, F]
total = 0
for value in sales:
total += value
print ('The total sales for the week are: $',total('.2f'))
main()
.2f
格式出现此异常:
TypeError: 'float' object is not callable
如果我删除.2f
,则脚本可以正常运行,但是格式不符合我的期望,它显示为:
The total sales for the week are: $ 2500.0
我希望它具有两个小数位,并且$符号之间没有空格。
是python的新手,学习基础知识。非常感谢您的帮助。
替换
print ('The total sales for the week are: $',total('.2f'))
for
print ('The total sales for the week are: $',"{0:.2f}".format(total))
这是使用python 3 f字符串功能的解决方案
print (f'The total sales for the week are: {total:.2f}')
在python中,您可以通过多种方式设置字符串格式。这里有一些很好的资源:
根据您的情况,您可以像这样格式化总值:
>>> total = 1234.56789
>>> "{:.2f}".format(total)
'1234.57'
>>> "%.2f" % total
'1234.57'
# This only works in 3.7 and later
>>> f"{total:.2f}"
'1234.57'
对于您的特定情况,您可以一次性格式化整个print
字符串:
print(f"The total sales for the week are: ${total:.2f}")
您可以使用内置的sum
功能对列表进行总计。尝试print(sum(sales))
。
您可以像这样print(f'Week is {sum(sales):.2f}')
格式化您的浮点数>
小尼特。
保持骇客!记笔记。
Python中的格式化程序可让您将花括号用作通过str.format()
方法传递的值的占位符。
只需进行此更正: