如何为函数中的变量分配数字?

时间:2019-02-09 16:22:54

标签: python python-3.x

我正在为我的大学做作业,他们要我调用带有三个不同半径值的print_volume函数。

编写您自己的函数,该函数说明您在本单元中学习的功能。该函数必须至少包含一个参数。

我有一个错误,我将在下面写下,请注意,我还是一个初学者,这是我学习Python的第二周,我不想为我的作业提供解决方案,我只是想了解如何设置xy和z这些数字,因此当我运行代码时,它将使用3个不同的答案进行计算。如果有人也可以告诉我参数和参数之间的差异,因为它们看起来都一样。谢谢!

我尝试包含3个不同的值并为其设置变量,在我的代码中,我尝试包含x = 5 y = 6和z = 10,然后我尝试进行数学计算,将根据给出3个不同的答案我的xy和z输入

def print_volume (x,y,z):

    print_volume(5,6,10)


    print (4/3*pi*x**3)
    print (4/3*pi*y**3)
    print (4/3*pi*z**3)

TypeError:print_volume()缺少3个必需的位置参数:“ x”,“ y”和“ z”

3 个答案:

答案 0 :(得分:1)

您必须做一些研究,才能在函数本身内调用函数,这会导致无限递归而不执行打印语句。

**注意:确保在程序开始时将pi的值初始化为全局变量或作为参数传递**

def print_volume (x,y,z):
    print (4/3*pi*x**3)
    print (4/3*pi*y**3)
    print (4/3*pi*z**3)

print_volume(5,6,10)

如果将pi = 3.14添加为程序的第一行并执行上述功能,您将获得以下输出。

523.3333333333334
904.3199999999999
4186.666666666667

我希望您能了解一些基本知识。 :)

答案 1 :(得分:0)

参数和参数的含义通常相同。由于它与您的方法有关,因此它是递归地调用自身。您需要从外部(在另一个方法中或在运行时)调用该方法。

尝试以下操作:

def print_volume (x, y, z):
    print (4 / 3 * math.pi * x**3)
    print (4 / 3 * math.pi * y**3)
    print (4 / 3 * math.pi * z**3)

print_volume(5, 6, 10)

答案 2 :(得分:0)

因此,我首先建议使用有意义的变量名称定义函数,以使代码易于阅读和理解。 就像现在一样,您的函数只需要再次调用该函数即可。

您必须将函数的定义与调用函数分开,定义为:

def function(arg1, arg2, arg3):
  return arg1 + arg2 + arg3

对此函数的调用为:

result = function(10, 20, 30)
print(result)
### would print - 60

所以回到您的问题,定义应该类似于

def print_volume (x, y, z):
    print (4 / 3 * math.pi * x**3)
    print (4 / 3 * math.pi * y**3)
    print (4 / 3 * math.pi * z**3)

print_volume(5, 6, 10)