python函数参数
我正试图编写一个简单的计算器,以给定数量的四面体,用户输入其边缘和给定数量的水(以升为单位),并计算有多少四面体可以充满水。我已经定义了一个函数来计算一个四面体的体积,但是当我试图写第二个四面体的时候,我失败了python函数参数,python,function,arguments,Python,Function,Arguments,我正试图编写一个简单的计算器,以给定数量的四面体,用户输入其边缘和给定数量的水(以升为单位),并计算有多少四面体可以充满水。我已经定义了一个函数来计算一个四面体的体积,但是当我试图写第二个四面体的时候,我失败了 water = int(raw_input("water:")) #Enter the amount of water in litres n = raw_input("Enter the number of tetrahedrons:") tetrahedrons = [] for
water = int(raw_input("water:")) #Enter the amount of water in litres
n = raw_input("Enter the number of tetrahedrons:")
tetrahedrons = []
for i in range(int(n)):
edge = raw_input("Enter the edge of a tetrahedron:")
tetrahedrons.append(int(edge))
tetrahedrons.sort()
#full_tetrahedrons = 0 # counter for the full tetrahedrons
def fill_tetrahedron(num):
volume = (int(num) ** 3) // (6.0 * (2 ** 0.5))
volume_in_l = volume / 1000
def tetrahedron_filled(tetrahedrons, water):
if water >= 0:
for number in tetrahedrons:
value = fill_tetrahedron(number)
water = water - value
full_tetrahedrons = 0
full_tetrahedrons += 1
return full_tetrahedrons
print tetrahedron_filled(tetrahedrons, water)
编辑:
好的,我已经纠正了我在参数上的错误,但是现在无论我输入什么值,我总是得到1作为答案。您只将一个参数传递给四面体填充函数
这个函数有两个参数——四面体和水 您已将四面体填充定义为需要两个参数,并且仅使用一个参数来调用它。您可能打算打印四面体填充的四面体,而不是水。@David Robinson谢谢!我很笨。。现在我得到了一个不同的错误:D文件new11.py,第24行,四面体填充的完整四面体+=1 UnboundLocalError:之前引用的局部变量“full_四面体”assignment@Anton:将完整的_四面体=0移动到循环外,使其正好位于四面体中的for编号之前:,否则,当您返回其值时,它将始终为1。