定义一个名为avg4的函数。返回四个数字的平均值

时间:2016-03-19 09:29:15

标签: python function printing return

在这个网站上有一个类似的问题,但我发现答案仅适用于字符串输出。例如截然不同的事情。想象一下,如果我有这个python程序:

#!/usr/bin/env python

def printAndReturnNothing():
    x = "hello"
    print(x)

def printAndReturn():
    x = "hello"
    print(x)
    return x

def main():`enter code here`
    ret = printAndReturn()
    other = printAndReturnNothing()

    print("ret is: %s" % ret)
    print("other is: %s" % other)

if __name__ == "__main__":
    main()

您期望什么是输出?

hello
hello
ret is : hello
other is: None

然而,问题是定义一个名为avg4的函数。它询问用户四个数字并返回四个数字的平均值。第二个问题要求定义一个名为avg的函数。它要求用户输入三个数字并打印平均值。

这些输出不一样吗?

这是我avg4的代码:

def avg4(a,b,c,d):
    a=int(input(ënter a number")
    b
    c
    d
    avg=a+b+c+d/4
    return

当我调用它时会提示用户输入四个数字,但不会返回任何内容。第二个,avg将打印平均值。

2 个答案:

答案 0 :(得分:1)

您需要在return的末尾使用def语句返回一些内容。还需要进行一些其他更改。您的新代码将是:

def avg4(): # You don't need parameters for this function; they're overwritten by your input
    a=int(input("Enter a number")) # Added missing quote and bracket
    b=int(input("Enter a second number")) # Filled in inputs for b, c and d
    c=int(input("Enter a third number"))
    d=int(input("Enter a fourth number"))
    avg=(a+b+c+d)/4 # Changed to suit BODMAS
    return avg # Returns the variable avg

现在你可以这样做,因为avg会返回一些内容:

result = avg()

答案 1 :(得分:0)

您的while功能有几个问题。尝试使用

avg4