以下为《函数的设计和使用作业4》的无排版文字预览,完整内容请下载
XX工程大学 计算机科学与***
课程名称
人工智能程序设计
章节内容
函数的设计和使用
教师签名
专业班 级
人工智能(深度学习方向)01班
姓名
姚某某
学号
***22
成绩
(需提交完整代码和运行结果截图,自行续页)
简答题(60分)
函数内部直接修改形参的值什么情况会影响实参,什么情况不会影响实参,并举例说明。
如果传递给函数的是列表、字典、集合或其他自定义的可变序列,并且在函数内部使用下标或序列自身支持的方式为可变序列增加、删除元素或修改元素值时,修改后的结果是可以反映到函数之外的,即实参也得到了相应的修改。
def addOne(a):
a+=1
>>> a=3
>>> addOne(a)
>>> a
3
>>> def modify(v):
v[0]=v[0]+1
>>> a=2
>>> a=[2]
>>> modify(a)
>>> a
[3]
>>> def modify(v,item):
v.append(item)
>>> a=[2]
>>> modify(a,3)
>>> a
[2, 3]
>>> def modify(d):
d['age']=38
>>> a={'name':'Dong','age':37,'sex':'Male'}
>>> modify(a)
>>> a
{'name': 'Dong', 'age': 38, 'sex': 'Male'}
>>>
/
任何一个默认值参数右边不能有非默认值参数,请举例说明。
def 函数名(...,形参名=默认值):
函数体
/
举例说明关键参数的用法。
关键参数主要指调用函数时的参数传递方式,与函数定义无关。
def demo(a,b,c=5):
print(a,b,c)
>>> demo(3,7)
3 7 5
>>> demo(c=8,a=9,b=0)
9 0 8
/
举例说明字典作为参数的序列解包。
dic={1:'a',2:'b',3:'c'}
>>> demo(*dic)
6
>>> demo(*dic.values())
abc
/
什么是可变长度参数?并举例说明。
可变长度参数在定义函数时主要有两种形式:*parameter和**parameter,前者用来接收任意多个实参并将其放在一个元组里,后者接收类似于关键参数一样显示赋值形式的多个实参并将其放入字典中。
/
举例说明局部变量与全局变量在函数中的应用。
局部变量和全局变量的用法
def demo():
global x
x=3
y=4
print(x,y)
>>> x=5
>>> demo()
3 4
>>> x
3
>>> y
Traceback (most recent call last):
File "", line 1, in
y
NameError: name 'y' is not defined
>>> del x
>>> x
Traceback (most recent call last):
File "", line 1, in
x
NameError: name 'x' is not defined
>>> demo()
3 4
>>> x
3
如果在某个作用域内有为变量赋值的操作,那么该变量将被认为是该作用域内的局部变量。
x=10
>>> def dem 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 True)
>>> print('After sorted:\n',lst)
/
利用函数完成下面任务(以m为参数):猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第m天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
m=int(input())
12
>>> def fun(m,sums):
if m==1:
return sums
else:
return fun(m-1,(sums+1)*2)
>>> print(fun(m,1))
6142
/
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《函数的设计和使用作业4》的无排版文字预览,完整内容请下载
函数的设计和使用作业4由用户“zmhui2051”分享发布,转载请注明出处