章节
问答
课签
笔记
评论
占位
占位

Python定义函数

除了使用Python内置的函数以外,在编程过程中,我们也经常需要自己定义函数。
在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号()、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
我们以定义一个求绝对值的函数my_abs函数为例:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

请注意,return表示返回的意思,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
我们继续定义一个求列表list所有元素的和的函数:

def list_sum(L):
    result = 0
    for num in L:
        result = result + num
    return result

这样子我们就定义了一个sum_list()的函数,注意,在最后return,我们把求和的结果result返回了,这样就可以在外部调用函数后获得result。

L = [1, 3, 5, 7, 9, 11]
result =list_sum(L) # 调用定义的sum_list函数并获得return返回的结果
print(result)

任务

请定义一个square_of_sum()函数,它接收一个list,返回list中每个元素平方的和。

?不会了怎么办

参考答案:

def square_of_sum(L):
    sum = 0
    for x in L:
        sum = sum + x * x
    return sum
print(square_of_sum([1, 2, 3, 4, 5]))
print(square_of_sum([-5, 0, 5, 15, 25]))
||
1
2
# Enter a code
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / yi9283746
因为L中的数可能不是连续的,如果用x=x+1可能会错过L中重复的数或者增加L中没有的数,为了正确获取L中的数,需要遍历L得到其中元素的具体数值。当然,如果你选择将x作为下标,通过每次循环加上L[x]*L[x]的话,当然可以在for循环里写上x=x+1,不过这时要注意别用x遍历L,否则x可能会因为获得L中元素的数值而发生变化

最新回答 / 慕粉1858098231
因为是要列表元素平方和,所以必须要用一个‘容器’存储每个元素平方和的累加值,所以需要‘sum’;其次关于为什么sum=0,python是解释型语言,变量不需要声明,但需要进行初始化。如果不进行初始化(即给sum赋值),系统只是为sum分配了一个内存空间,sum就如同一个只有躯壳,没有灵魂的‘行尸走肉’,就没有办法和其他数据进行运算,即sum=sum+x*x,就会出现报错。个人拙见,希望对你有用

最赞回答 / 月夜妖华
def square_of_sum(x):    result = 0    y = []        for M in x:        y.append(M * M)    result = sum(y)    return resultprint(square_of_sum([1, 2, 3, 4, 5]))print(square_of_sum([-5, 0, 5, 15, 25]))你把创建空列表放在循环外就正确了,如果循环一次就创建一个新的列表,那后面的列表会覆盖前面的列表,第一个列表最后...

最新回答 / qq_慕设计8348963
这个问题就很简单

最赞回答 / 程序猿_郭文超
你可以这么理解,假如说你开了一家酒吧,进酒吧的人可以吃喝玩乐,但是你的酒吧为了盈利需要门票,所以每个进去的人都需要买门票,然后门口有一个人验票后才能入场。从这个例子中 你可以理解为 酒吧 就是一个方法,进去的人 吃喝玩乐指的是方法内你对于进去的人的行为的操作,而门票你可以理解为就是方法的参数也就是你指定的规则。所以定义的方法中需要有方法名,即你酒吧的名字(得让调用者能找到),然后还需要有对于参数操作即行为的定义,然后参数就是限定的规则。目前python中都是类似于弱类型,像JAVA这种在定义方法的时候回定...

最新回答 / 月夜妖华
首先是循环哪里的冒号是中文冒号,第二是你的循环是从列表L里面拿取元素的,你代码里的列表直接写在输出函数,没起任何作用翻译搜索复制

最赞回答 / 张张包529
最后一行不要缩进

最赞回答 / 慕斯卡8373086
def square_of_sum(L):    result = []    for i in L:        result.append(i*i)    return resultd = [1,2,3,4,5]r = square_of_sum(d)print(r)我是这样写的

最赞回答 / MakerFly
input输入的是字符串,要使用必须转化为列表

最新回答 / qq_慕无忌6280821
print("列表里的和为:".format(square_of_sum([1,2,3,4,5,6,7,8])))
这一句的冒号是中文输入法改成英文然后输入冒号就行了

最新回答 / weixin_慕标3293558
不一定是list,其他的tuple,dict,set容器都可以计算的

最赞回答 / qq_迷失在天堂里云_0
[]括起来表示都是列表的元素,题目要求就是要求接收一个list,返回list中每个元素平方的和。

最新回答 / 慕仙6353832
list的表达式是[]
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言