小作业6
16.请问这个函数有多少个参数?
def MyFun((x,y), (a, b)):
return x * y - a * b
答:
这个函数没有参数,元组不能作为参数传到函数中。
17.编写一个函数满足以下功能:
计算打印所有参数的和乘以基数(base=3)的结果
def fu(*args,base=3): res=0 for i in args: res+=i return res*base
小作业7
1,下列代码会输出什么:
def f(x,l=[]): for i in range(x): l.append(i*i) print l f(2) f(3,[3,2,1]) f(3)
答:会输出如下结果:
[0,1]
[3,2,1,0,1,4]
[3,2,1,0,1,4,0,1,4]
3.尝试用两个方式,分别用一行语句实现去除了中的相同项,将结果存放在l2列表中
l1 = ['b','c','d','b','c','a','a']
l2 = []
答:
方法1
l1 = ['b','c','d','b','c','a','a'] l2 = [] l2.extend(i for i in l1 if i not in l2)
方法二:
l1 = ['b','c','d','b','c','a','a'] l2 = [] l2 = list(set(l1))
5.现有一个由100以内所有偶数组成的列表,将列表中所有能被4和6整除的数去除
答:
l2 = [i for i in range(0,101,2) if i%4 !=0 or i%6!=0 ] print(l2)
附加题:
用递归方法算
l1=[] l2=[] l3=[] def hanoi(n, a, b, c): if n == 1: print(a,b,c,sep=' '*10) c.append(a[len(a)-1]) a.pop() print(a,b,c,sep=' '*10) else: hanoi(n - 1, a, c, b) c.append(a[len(a)-1]) a.pop() print(a,b,c,sep=' '*10) hanoi(n - 1, b, a, c) # 调用 n = int(input('请输入圆盘的个数:')) for i in range(n,0,-1): l1.append(i) hanoi(n, l1, l2, l3)