python作业2018.12.11刘宏升

作业6:

16.请问这个函数有多少个参数?

def MyFun((x,y), (a, b)):

      return x * y - a * b

 

答:这个函数有两个参数,分别是(x,y)和(a,b)两个元组。

 

17.编写一个函数满足以下功能:

计算打印所有参数的和乘以基数(base=3)的结果

def product(*num,base = 3):
        result = 0
        for i in num:
            result += i
        result *= base
        print("所有参数的和乘以基数3的结果为:%d"%result)

 

作业7:

 

1
1.下面代码会输出什么:
1
2
3
4
5
6
7
8
def f(x,l=[]):
    for 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]

   [0,1,0,1,4]

 

2.列表的sort方法和sorted的区别是什么?试举例说明?

答:列表的sort方法返回的是对已经存在的列表进排序,而sorted方法返回的是一个全新的列表,而不是在原来的基础上进行排序。

举例:

>>> list = [1,5,9,7,3] #先随便定义一个列表list
>>> sorted(list)#将list进行sorted操作
[1, 3, 5, 7, 9]#列表排序了
>>> list#再看看原列表的数据
[1, 5, 9, 7, 3]#不变,说明sorted创建了一个新的排完序之后的列表
>>> list.sort()#将list进行sort操作
>>> list#输出list
[1, 3, 5, 7, 9]#原序列排序完成
>>> 

 

 

3.尝试用两个方式,分别用一行语句实现去除了中的相同项,将结果存放在l2列表中

 

l1 = ['b','c','d','b','c','a','a']
l2 = []
答:第一种方法:把它转换为集合再转换成列表:

l1 = ['b','c','d','b','c','a','a']                                             

l2 = []                                                                        

l2 = set(l1)                                                                   

l2                                                                             
{'a', 'b', 'c', 'd'}

第二种方法:循环遍历找到相同的元素再读入:

l1 = ['b','c','d','b','c','a','a']
l2 = []
n = [l2.append(l1[i]) for i in range(len(l1)) if l1[i] not in l2]
print(l2)

 

 

5.现有一个由100以内所有偶数组成的列表,将列表中所有能被4和6整除的数去除

 

list = []
for i in range(101):
    if i % 2 == 0:
        list.append(i)
for d in list:
    if d % 4 == 0:
        list.remove(d)
for n in list:
    if n % 6 == 0:
        list.remove(n)
print(list)

 

posted @ 2018-12-11 20:33  真龙星君  阅读(114)  评论(0)    收藏  举报