函数相关题目
1. 观察下面程序,回答一些问题:
a=0
def Func(n):
global a
a=a+1
if n==0:
return 0
elif n==1:
return 1
else:
return Func(n-1)+Func(n-2)
print(Func(3)) #1
print(a) #2
print(Func(4)) #3
print(a) #4
- def 是什么意思?
- return 是什么意思?
- Func 是什么?后面为什么要加括号?括号中的 n 是什么,这个 n 从哪获得值?
- 这个程序完成什么功能?用到了什么方式代替循环?
- 函数 Func() 什么时候停止递归?
- global 这个单词是什么意思?它写在函数里完成了什么功能?
- 这个程序中 #1 句运行时函数 Func() 被调用了多少次?#2 的输出结果时什么?
- 这个程序中 #3 句运行时函数 Func() 被调用了多少次?#4 的输出结果是什么?
2. 观察下面程序,回答一些问题:
def Func(n):
a=1
b=1
c=0
i=3
while i<=n:
c=a+b
a=b
b=c
i=i+1
return c
print(Func(5))
- 这个程序的 Func() 函数完成什么功能?
- 变量的 a,b,c,i 分别完成什么功能?
- 变量 i 为什么从3开始
- while循环的起始值,终止值,步长分别是什么?
3. 观察下面程序,回答一些问题:
a=[1,2]
for i in range(2,20):
c=a[i-1]+a[i-2]
a.append(c)
print(a[19])
print(a)
print(len(a)) #1
- 这个程序完成什么功能?
- append 这个函数完成什么功能?
- 列表a存储的是什么内容?
- 如果要求斐波那契数列的第一百项是什么,用这种方式计算时 #1 会打印什么?
4. 观察下面程序,回答一些问题:
def Func(a=4,b=5):
print(a,b)
Func(1,2) #1
Func(10) #2
Func(b=10) #3
Func(a=10) #4
- 函数 Func() 括号里的等号表示什么意思?默认值是什么意思?
- #1 #2 #3 #4 的输出分别是什么?
5. 元组及函数参数带星的使用:
- 元组和列表相似,差异在于元组不能被修改内容
- 某个形参前面加一个星号,调用时按位置匹配不带星号的形参和实参,多余的实参都将作为一个元组的元素保存到星号对应的形参中。
例子程序:
def foo(param1, *param2):
print (param1)
print (param2)
foo(1,2,3,4,5)
程序一:
def sum_func(*t): #1
sm = 0
for i in t:
sm += i
return sm
print(sum_func(1,2,3,7,4,5,6))
程序二:
def sum_func(t): #2
sm = 0
for i in t:
sm += i
return sm
n=[1,2,3,7,4,5,6]
print(sum_func(n))
- #1 中的*号是什么作用,t是什么,这时传入的参数有几个?
- #2 中的t是什么,传入参数有几个?
- 程序一和程序二中的函数 sum_func 完成什么功能?请详细描述一下
- 如果想要编写一个函数,计算一个列表a=[256,231,248,291]中所有元素中最大的值并返回,这个程序应怎样编写?
- 观察上面程序,说出元组这种数据形式和列表有什么不同(说出一个最重要的不同点)?
6. 下面程序完成什么功能?
说出打印的是什么即可
q = [1,2,3,4,5,6,7]
def jishu_list(t,li = []):
n = 1
for i in t:
if n%2 == 1:
li.append(i)
n += 1
return li
print(jishu_list(q))
7. 下面程序完成什么功能?
说出打印的是什么即可
def func(t):
if len(t)>2:
t = t[0:2]
return t
else:
return t
print(func([1,2,3,4]))
print(func([1,2]))
8. 下面程序完成什么功能?
说出打印的是什么即可
s = 'asdfasf'
def Func(l):
shuzi = 0
zimu = 0
kongge = 0
qita = 0
for i in l :
if i.isdigit():
shuzi +=1
elif i.isalpha():
zimu +=1
elif i.isspace():
kongge +=1
else:
qita +=1
return shuzi,zimu,kongge,qita
print(Func(s))
什么是字典及字典的使用
a={'zhangsan':100,'lisi':200,'wanger':300,'yuliu':400}
aab={'cde':500}
a.update(aab)
print(a['cde'])
# b=[1,2,3]
# c=10
# d="string"
# a['zhangsan']=50
# print(type(a))
# print(type(b))
# print(a['zhangsan'])
观察上面的程序,请同学们说出字典这种数据格式和列表的两个不同
网友评论