2013-10-14 66 views
-2

我不能获得randomCrosses函数的返回值(a,b,c,d),当它们在randomAverage函数中一起使用时,会返回到平均函数中。有人请告诉我我错过了什么!从另一个函数计算平均值的Python函数

def randomCrosses(): 
    """Draws four random crosses of randomized values between 0-400 and returns the four random values a,b,c,d""" 
    a = r.randint(0,400) 
    drawCross("Darkgreen",(a, 10)) 
    b = r.randint(0,400) 
    drawCross("blue",(b, 10)) 
    c = r.randint(0,400) 
    drawCross("magenta",(c, 10)) 
    d = r.randint(0,400) 
    drawCross("limegreen",(d, 10)) 
    return(a,b,c,d) 


def average(a,b,c,d): 
    """Calculates and returns the average of four values a,b,c,d""" 
    mean = (a+b+c+d)/4 
    return mean 


def randomAverage(): 
    """Randomizes four values 0-400 for a,b,c,d and then calculates the average of these values""" 
    a,b,c,d = randomCrosses() 
    average(a,b,c,d) 
+0

你的实际问题是什么?如果你运行你的代码会发生什么? – Michael0x2a

+1

你错过了'randomAverage'中的return语句。 –

回答

0

你缺少返回语句在randomAverage

def randomAverage(): 
    """Randomizes four values 0-400 for a,b,c,d and then calculates the average of these values""" 
    a,b,c,d = randomCrosses() 
    return average(a,b,c,d) 
    # ^-- you need this 

现在,当你调用averagerandomAverage,函数(average)工作正常,返回它应该。但是,您的代码停在那里。如果randomAverage内部没有返回语句,返回average返回的内容,则简单地忽略由average返回的值。

相关问题