def computeValue(condition , gps , wifi , camera):
int(val1=0)
int(val2=0)
val1 = (condition + gps + wifi + camera)
val2 = (condition + gps + wifi + camera)
return val1
return val2
def main():
w=0;
x=0;
y=0;
z=0;
q=0;
r=0;
s=0;
t=0;
# it then has conditions to assign values to wxyzqrst, and then
val1 = computeValue(w+x+y+z)
val2 = computeValue(q+r+s+t)
main()
错误:TypeError:computeValue()缺少3个必需的位置参数:'gps','wifi'和'camera'
任何人都知道我做错了什么?
答案 0 :(得分:0)
于;
wwii,是对的 - 一个教程会为你提供很好的服务,因为这是编程的基础,所以如果你不花一些时间学习基础知识,你将有很长的路要走。但是,通常,将函数(在您的情况下为computeValue)视为数学算法。想象一下,它是计算矩形的面积。你会说Area = F(x,y)= x * y。由此可以说F(1,2)= 2,F(2,2)= 4,F(4,3)= 12,依此类推。但你不能说F(3 * 4) - 这没有意义,因为它意味着与F(12)相同。您的算法定义需要两个参数,而不是一个。
现在 - 将其扩展到您的computeValue函数。您将其定义为需要4个参数(也称为参数)。但是,您尝试使用“w + x + y + z”调用它。在调用函数之前,Python将足够聪明地添加这些值。很像上面的F(12),你只给出一个参数(或参数)。您需要用逗号分隔的值,例如computeValue(w,x,y,z)
多数问题#1。您的下一个问题是您无法从函数(val1和val2)返回两次。你可以从一个函数返回一个列表,数组,元组等,并使用每个部分,但我认为这会使你现在已经准备好的东西复杂化了。现在,如果你想要两个不同的计算,只需要做两个函数。