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 i in range(x): l.append(i*i) print lf(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)

浙公网安备 33010602011771号