20181211HW
16.请问这个函数有多少个参数?
def MyFun((x,y), (a, b)):
return x * y - a * b
2个参数
17.编写一个函数满足以下功能:
计算打印所有参数的和乘以基数(base=3)的结果
def sum_mul3( *t ): ''' fuction:计算打印所有参数的和乘以基数(base=3)的结果 t:参数 ''' m = 0 for i in t: m += i print( m * 3 ) def main(): sum_mul3( 1 , 2 , 3 , 4 , 5 , 6 ) main()
小作业7
1
|
1. 下面代码会输出什么: |
1
2
3
4
5
6
7
8
|
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 ]
2.列表的sort方法和sorted的区别是什么?试举例说明?
sort是在原位重新排列列表,而sorted()是产生一个新的列表,以返回值形式返回 sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作 l1 = [ 2 , 1 , 3 ] l2 = [ 2 , 1 , 3 ] print( l1 ,'\n', l2 ) l3 = l1.sort() l4 = sort( l2 ) print( l1 , '\n' , l2 , '\n' , l3 , '\n' , l4 )
3.尝试用两个方式,分别用一行语句实现去除 l1 中的相同项,将结果存放在l2列表中
l1 = ['b','c','d','b','c','a','a']
l2 = []
# 方法一 l2 = list( set( l1 ) ) # 方法二 l2 = [ l[i] for i in range( len( l1 ) if l[i] not in l1[:i] ) ]
5.现有一个由100以内所有偶数组成的列表,将列表中所有能被4和6整除的数去除
list = [ i for i in range( 101 ) if i % 2 == 0 ] for i in list: if i % 4 == 0 : list.remove( i ) for i in list: if i % 6 == 0: list.remove( i ) print( list )
n阶汉诺塔问题
def move( n , l1 , l2 , l3 ): global s if n == 0: return s move( n - 1 , l1 , l3 , l2 ) s += 1 print( '第{}步\t{}盘:{}-->{}'.format( s , n , l1 , l2 ) ) move( n - 1 , l3 , l2 , l1 ) l1 = '1号塔' l2 = '2号塔' l3 = '3号塔' s = 0 move( int( input( "Input n :" ) ) , l1 , l2 , l3 )