首先,我只是初学者,还请见谅。
我有一个问题要问“定义一个名为 avg 的函数。它要求用户输入三个数字并打印它们的平均值。”
然后是另一个问题“定义一个名为 avg4 的函数。它要求用户输入四个数字并返回四个数字的平均值”
我就想知道这是不是一个坑?因为根据我的理解,'print' 在控制台中打印输出,而 'return' 是函数的一部分,实际上在控制台中没有任何输出。
这是我对第一个问题的代码,第二个问题有什么区别? (除了四个数字而不是三个)
def avg(a, b, c):
sum = (a+b+c)/3
return sum
a1 = avg(float(input("First number: ")), float(input("Second number: ")), float(input("Third number: ")))
我不知道这是否是一个把戏,问题措辞不当,还是作者准确地描述了需要什么……但你应该坚持字面描述并按照它的要求去做。 avg
应该打印平均值并返回 None
而 avg4
应该返回平均值。如果以后有任何争议(“不要按我说的做,按我的意思做”),你可以正确地声称你按要求做了。
在高风险的工作环境中,您会返回并得到澄清,因此与给您分配任务的人交谈也是合理的。
def avg():
"""Ask the user for three numbers and print the average"""
numbers = []
for i in range(1, 4):
numbers.append(float(input('Number {}: '.format(i))))
print('Average', sum(numbers)/3)
def avg4():
"""Ask the user for 4 numbers and return the average"""
numbers = []
for i in range(1, 5):
numbers.append(float(input('Number {}: '.format(i))))
return sum(numbers)/4)