在这个网站上有一个类似的问题,但我发现答案仅适用于字符串输出。例如截然不同的事情。想象一下,如果我有这个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
将打印平均值。
答案 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