Python 基础习题 1211(函数)

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

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

      return x * y - a * b

 0个参数

函数的参数需要的是变量,而这里试图用“元组”的形式来传递是不可行的。可写成如下:

def myfun(x,y):
    return x[0]*x[1] - y[0]*y[1]
res = myfun((3,4),(1,2))
print(res)

  

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

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

def sumall(*numbers,base=3):    
    s = 0
    for i in numbers:
        s += i
    s *=base
    return s
res = sumall(1,2,3,4,5)
print(res)

  

 

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)
 
 
f(2)             [0, 1]
f(3,[3,2,1])        [3, 2, 1, 0, 1, 4]
f(3)             [0, 1, 0, 1, 4]




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

# .sort()方法在原列表基础上排序
l1 = [5,4,8,9,1]
l1.sort()
print(l1)
# sorted()方法生成新的列表,然后排序
l1 = [5,4,8,9,1]
l = sorted(l1)
print(l)

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

l1 = ['b','c','d','b','c','a','a']
l2 = []
# 第一种
l2 = list(set(l1))
print(l2)
# 第二种
l = [l2.append(i) for i in l1 if i not in l2 ]
print(l2)

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

l = [i for i in range(100) if i % 2 == 0 ]
l1 = []
l = [l1.append(i) for i in l if i%4!=0 and i%6!=0]
print(l1)

6.汉诺塔递归

def hanoi(n):
    if n == 1:
        return 1
    else :
        count = hanoi(n-1)*2+1
        return count
count = hanoi(3)
print(count)

  

posted @ 2018-12-11 19:33  米线Max  阅读(247)  评论(0)    收藏  举报