Python函数(return和print)

为什么在函数里把print改成return以后在return后面加print
结果就从一列数变成一个数了呢?是我哪里写错了吗
如果我一定要写return的形式应该怎么改呢?

img


感谢回答!

因为你把return写进循环里面了,当然只会return第一个i,for循环就直接结束了
这种情况要么你先在循环外面搞个list,然后把n[i]加入list,return这个list
要么把return改为yield

那当然啊,你只是return了n数组的第i个元素啊

  • 关于该问题,我找了一篇非常好的博客,你可以看看是否有帮助,链接:Python学习笔记之:函数中为什么要有return返回值
  • 除此之外, 这篇博客: 〖Python零基础入门篇㉛〗- 函数的定义与使用中的 return 与 print 的区别 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • print 只是单纯的将对象打印输出,并不支持赋值语句。
    • return 是对函数执行结果的返回,且支持赋值语句;但是我们可以将含有 renturn 值的函数放在 print 里进行打印。
  • 以下回答由chatgpt基于相关博客总结生成:

    问题解答:

    首先,需要明确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语句应该放在函数体的最后一行,并且要确保计算结果已经被正确计算。