【发布时间】:2015-06-24 19:20:57
【问题描述】:
我编写了一个程序,该程序应该计算墙的周长,然后根据输入计算粉刷该墙所需的油漆成本。
代码:
def main():
length = float(input('Enter length: ')) #Get length.
width = float(input('Enter width: ' )) #Get width.
height = float(input('Enter height: ')) #Get height.
Paint_cost()
def Paint_cost (length, width, height): #Find total paint cost.
perimeter = length + width *4 #Find perimiter.
sq_ft = perimeter * height #Find total sq. ft. amount.
Paint = sq_ft / 300 #Calculate paint gallons to nearest int.
round(Paint)
Total= Paint*40 #Calculate total cost.
return total #Display total.
main()
但是 Python 一直说“UnboundLocalError:在赋值之前引用了局部变量 'Paint_cost'”。我在这里做错了什么?
【问题讨论】:
-
请修正缩进。除了它总是有利于任何语言的任何代码的可读性,并且对于能够调试 Python 代码总是必不可少的这一事实之外,在这种情况下,您的代码的实际问题很可能是缩进,所以我们尤其是 需要看看你是如何缩进的。
-
@Tutleman:我有 80% 的把握确定您的编辑实际上消除了 OP 的实际问题,因此这是一个无用的问题。不要试图猜测他的缩进可能是什么,而是让他告诉我们它实际上是什么。
-
@abarnert 你说得对。就在你做回归的时候,我正要做同样的事情。鉴于他遇到的错误,我同意你的看法,这个错误很可能是缩进之一。
-
我很想知道你正在运行的python的平台和版本,因为运行它时我得到了不同的结果。
-
@NKamrath:好吧,当按照发布的方式运行时,您将在任何版本的 Python 上获得
IndentationError。在他向我们展示他的实际代码之前,它并不是很有用。
标签: python