在python 3中调用函数

时间:2015-05-17 19:03:35

标签: python python-3.x

通过分数函数添加三个变量

如何调用我的功能?在这里,我想添加所有三个变量。为什么不显示输出?

 def score(x,y,z):
        x == 1
        y == 2
        z == 3
        return (x+y+z)

4 个答案:

答案 0 :(得分:1)

x = 1...不是====是比较=是分配。

def score():
    x = 1
    y = 2
    z = 3
    return (x+y+z)

然后:

print(score()) # -> 6

如果您想传递值:

def score(x,y,z):
    return (x+y+z)

print(score(1,2,3)) # -> 6

如果您想测试传入的值是某些数字,您可以使用==

def score(x, y, z):
    if x == 1 and y == 2 and z == 3:
        return x + y + z

测试x 等于为1且y 等于为2且z 等于为3

为x y和z赋值的更合理的理由是给出x,y和z默认值:

def score(x=1, y=2, z=3):
     return x + y + z

因此调用print(score(4))会输出9x将等于4,并使用yz的默认值。

答案 1 :(得分:1)

你没有分配值,只是检查一个布尔值。

而且,即使你在函数中指定了x,y,z,也要确保在调用它时包含参数。但是,无论您传递什么参数,结果总是为6,因为您在函数中更改了它们的值。

所以,要使用分数,应该是:

def score(x,y,z):
    return (x+y+z)

或者,如果你想要一个恒定的:

def score():
    x = 1
    y = 2
    z = 3
    return(x+y+z)

答案 2 :(得分:1)

您应首先定义参数:

def score(x,y,z):
    return (x+y+z)

print(score(1, 5, 2))
  

输出:7

如果你想要不断得分,你甚至不应该把任何参数放在首位。您也使用了= =而不是=

def score():
    x = 1
    y = 2
    z = 3
    return (x+y+z)

print(score())
  

输出:6

答案 3 :(得分:1)

在python中,可以使用=字符:如果你单独使用它,那就是一个任务:

>>> a = 8
>>> print(a)
8

另一个是测试,它返回一个布尔值,True或False:我们用它来测试一个变量是否等于另一个:

>>> 1 == 2
False
>>> 1 == 1
True
>>> a = 1    # Here, it's an asignment
>>> b = 1
>>> a == b
True
>>> b = 2
>>> a == b
False

在您的代码中,您使用测试:因此,变量x,y和z未被修改。你必须写一下:

def得分(x,y,z):       x = 1       y = 2       z = 3       return(x + y + z)

如果要为x,y和z分配1,2和3。但请注意,在这种情况下,这三个参数是无用的:这个函数只是:

def score(x, y, z):
    return (1 + 2 + 3)