为什么在函数里把print改成return以后在return后面加print
结果就从一列数变成一个数了呢?是我哪里写错了吗
如果我一定要写return的形式应该怎么改呢?
因为你把return写进循环里面了,当然只会return第一个i,for循环就直接结束了
这种情况要么你先在循环外面搞个list,然后把n[i]加入list,return这个list
要么把return改为yield
那当然啊,你只是return了n数组的第i个元素啊
问题解答:
首先,需要明确print和return两个关键词在函数内的功能不同:
print是用来输出结果的,返回给用户的信息,也就是我们可以在函数体内使用print语句,将计算结果以指定格式输出等等。
return是用来返回函数结果的,在函数体内使用return语句返回函数执行完后的值,也就是返回一个对象。
因此,不能简单地将print语句改为return语句。如果想要使用return语句返回计算结果,可以将计算结果赋值给一个变量,并使用return返回这个变量的值。
以下是代码示例:
def sum_num(num_list):
sum = 0
for num in num_list:
sum += num
return sum # 使用return语句返回计算结果
num_list = [1, 2, 3, 4, 5]
result = sum_num(num_list)
print(result) # 输出计算结果
在这个例子中,函数sum_num接受一个列表类型的参数num_list,计算列表中所有元素的和并使用return语句返回结果sum。调用函数并将计算结果赋值给result变量,并使用print语句将计算结果输出。
注意:
1.在使用return语句返回结果时,在函数内部任何代码执行时遇到return语句,函数即可结束,并返回结果。
2.如果函数体内存在多个return语句,只会执行第一个return语句返回结果,其他的return语句不会执行。
因此,return语句应该放在函数体的最后一行,并且要确保计算结果已经被正确计算。