20181211HW

小作业6

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 )
posted @ 2018-12-11 19:48  TyroneYang  阅读(140)  评论(0编辑  收藏  举报