20181211-python1119作业郭恩赐

  小作业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)

 

posted @ 2018-12-11 21:23  起个神马昵称  阅读(155)  评论(0编辑  收藏  举报