通过分数函数添加三个变量
如何调用我的功能?在这里,我想添加所有三个变量。为什么不显示输出?
def score(x,y,z):
x == 1
y == 2
z == 3
return (x+y+z)
答案 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))
会输出9
,x
将等于4,并使用y
和z
的默认值。
答案 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)